小编iff*_*ffi的帖子

为什么这两个来源计算不同的sha-1总和

以下片段都应该计算sha-1总和.但是对于同一个文件,他们计算出不同的sha-1总和.

//snippet1
byte[] byteArr = new byte[(int) uploadedFile.getLength()];
try {
 stream = new BufferedInputStream(uploadedFile.getInputStream());
 stream.read(byteArr);
 stream.close(); 
} catch (IOException e) {
 e.printStackTrace();
}
md = MessageDigest.getInstance("SHA-1"); 
byte[] sha1hash = new byte[40];
md.update(byteArr, 0, byteArr.length);
sha1hash = md.digest();

//snippet2
md = MessageDigest.getInstance("SHA-1");
InputStream is = uploadedFile.getInputStream();
try {
 is = new DigestInputStream(is, md);
} finally {
 try {
  is.close();
 } catch (IOException e) {
  e.printStackTrace();
 }
}
sha1hash = md.digest();
Run Code Online (Sandbox Code Playgroud)

你能解释一下原因吗?

java sha1

2
推荐指数
1
解决办法
513
查看次数

标签 统计

java ×1

sha1 ×1