一、概述
校验和是用于唯一标识文件的字符序列。它最常用于验证文件的副本是否与原始文件相同。
在这个简短的教程中,我们将看到如何在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 评论