在 Java 中获取文件的 MD5 校验和
我希望使用Java来获取文件的MD5校验和。我真的很惊讶,但我无法找到任何显示如何获取文件的MD5校验和的东西。
它是如何完成的?
我希望使用Java来获取文件的MD5校验和。我真的很惊讶,但我无法找到任何显示如何获取文件的MD5校验和的东西。
它是如何完成的?
有一个输入流装饰器 ,因此您可以像往常一样在使用输入流时计算摘要,而不必对数据进行额外的传递。java.security.DigestInputStream
MessageDigest md = MessageDigest.getInstance("MD5");
try (InputStream is = Files.newInputStream(Paths.get("file.txt"));
DigestInputStream dis = new DigestInputStream(is, md))
{
/* Read decorated stream (dis) to EOF as normal... */
}
byte[] digest = md.digest();
使用 Apache Commons Codec 库中的 DigestUtils:
try (InputStream is = Files.newInputStream(Paths.get("file.zip"))) {
String md5 = org.apache.commons.codec.digest.DigestUtils.md5Hex(is);
}