在 Java 中获取文件的 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();

解决方法

我希望使用 Java 来获取文件的 MD5 校验和。我真的很惊讶,但我找不到任何显示如何获取文件的 MD5 校验和的东西。

它是如何完成的?