在 Java 中為文件生成 MD5 校驗和
瀏覽人數:287最近更新:
一、概述
校驗和是用於唯一標識文件的字符序列。它最常用於驗證文件的副本是否與原始文件相同。
在這個簡短的教程中,我們將看到如何在 Java中為文件生成 MD5 校驗和。
2. 使用MessageDigest
類
我們可以輕鬆地使用java.security
包中的MessageDigest
類來生成文件的 MD5 校驗和:
byte[] data = Files.readAllBytes(Paths.get(filePath));
byte[] hash = MessageDigest.getInstance("MD5").digest(data);
String checksum = new BigInteger(1, hash).toString(16);
3. 使用 Apache Commons 編解碼器
我們還可以使用Apache Commons Codec庫中的DigestUtils
類來實現相同的目標。
讓我們在pom.xml
文件中添加一個依賴項:
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.15</version>
</dependency>
現在,我們只需使用md5Hex()
方法來獲取文件的 MD5 校驗和:
try (InputStream is = Files.newInputStream(Paths.get(filePath))) {
String checksum = DigestUtils.md5Hex(is);
// ....
}
我們不要忘記使用 try-with-resources,這樣我們就不必擔心關閉流。
4.使用番石榴
最後,我們可以使用 Guava 的ByteSource
對象的hash()
方法:
File file = new File(filePath);
ByteSource byteSource = com.google.common.io.Files.asByteSource(file);
HashCode hc = byteSource.hash(Hashing.md5());
String checksum = hc.toString();
5. 結論
在這個快速教程中,我們展示了為 Java 文件生成 MD5 校驗和的不同方法。
與往常一樣,本文中的示例代碼可以在 GitHub 上找到。
本作品係原創或者翻譯,採用《署名-非商業性使用-禁止演繹4.0國際》許可協議