拨开荷叶行,寻梦已然成。仙女莲花里,翩翩白鹭情。
IMG-LOGO
主页 文章列表 在Java 中为文件生成MD5 校验和

在Java 中为文件生成MD5 校验和

白鹭 - 2022-09-08 2149 0 2

一、概述

校验和是用于唯一标识文件的字符序列。它最常用于验证文件的副本是否与原始文件相同。

在这个简短的教程中,我们将看到如何在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 校验和的不同方法。


标签:

0 评论

发表评论

您的电子邮件地址不会被公开。 必填的字段已做标记 *