我在嘗試檢查文件的MD5哈希時收到錯誤。檢查文件的MD5
文件,notice.txt有以下內容:
My name is sanjay yadav . i am in btech computer science .>>
當我與onlineMD5.com網上查它給了MD5爲:90F450C33FAC09630D344CBA9BF80471
。
我的程序的輸出是:
My name is sanjay yadav . i am in btech computer science .
Read 58 bytes
d41d8cd98f00b204e9800998ecf8427e
這裏是我的代碼:
import java.io.*;
import java.math.BigInteger;
import java.security.DigestException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
public class MsgDgt {
public static void main(String[] args) throws IOException, DigestException, NoSuchAlgorithmException {
FileInputStream inputstream = null;
byte[] mybyte = new byte[1024];
inputstream = new FileInputStream("e://notice.txt");
int total = 0;
int nRead = 0;
MessageDigest md = MessageDigest.getInstance("MD5");
while ((nRead = inputstream.read(mybyte)) != -1) {
System.out.println(new String(mybyte));
total += nRead;
md.update(mybyte, 0, nRead);
}
System.out.println("Read " + total + " bytes");
md.digest();
System.out.println(new BigInteger(1, md.digest()).toString(16));
}
}
可能的[在Java中獲取文件的MD5校驗和]中的重複(http://stackoverflow.com/questions/ 304268/getting-a-files-md5-checksum-in-java) – Simon
我現在不會依賴那個網站..我認爲輸出2f4c6a40682161e5b01c24d5aa896da0是正確的......你錯過了最後一個零..(請檢查它)。內容是「我的名字是sanjay yadav,我在btech計算機科學。」 – Bitopan