【发布时间】:2009-09-07 09:44:05
【问题描述】:
下面的 sn-ps 都应该计算 sha-1 sum。但是对于同一个文件,他们计算不同的 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();
你能解释一下原因吗?
【问题讨论】: