如何在上传新文件时同时获取文件 MD5 和 SHA1 校验和



我正在研究存储系统。用户将文件上载到服务器。

在服务器端,我想实现一个程序来使用 MD5 和 SHA1 获取文件的校验和。

我知道如何使用 DigestInputStream 函数计算校验和,但它似乎一次只支持一种方法(MD5 或 SHA1)。在 JAVA 中处理上传流时,如何同时计算 MD5 和 SHA1?

谢谢大家

使用两个MessageDigest实例(一个用于 MD5,一个用于 SHA1),并将您读取的字节馈送到这两个实例中。

作为java式伪代码,因为您可以自己查找OpenSSL或BSafe的API或Java Crypto API...

缓冲读卡器 = ...;字符[MY_ARRAY_SIZE] buf = ...;而( 真 ) {  int count = reader.read(buf, 0, buf.length);  if( count == -1 ) { break }; /* 您需要检查正确的 API 并自己处理错误 */ md5.add(buf, count);  sha256.add(buf, count);}字符串 md5sum = base64(md5.finalize());假设适当的 base64 方法字符串 sha256sum = base64(sha256.finalize());

相关内容

  • 没有找到相关文章

最新更新