有一个输入流装饰器,
java.security.DigestInputStream因此你可以像往常一样在使用输入流的同时计算摘要,而不必对数据进行额外的传递。
MessageDigest md = MessageDigest.getInstance("MD5");try (InputStream is = Files.newInputStream(Paths.get("file.txt")); DigestInputStream dis = new DigestInputStream(is, md)) { }byte[] digest = md.digest();


