-1
我正在使用用BufferedInputStream包裝的FileInputStream在字節塊中讀取大文件。大文件的Hmac MD5
public void MD5(BufferedInputStream in, Key pubKey) throws Exception{
Mac md = Mac.getInstance("HmacMD5");
md.init(pubKey);
byte[] contents = new byte[1024];
int readSize;
while ((readSize = in.read(contents)) != -1) {
{
md.update(contents,0,readSize);
}
byte[] hashValue = md.doFinal();
}
}
它完美罰款的小文件,但需要瘋狂大量的時間一個文件200MB的文件。
當我嘗試使用SHA256withRSA簽名200MB文件時,相同的方法完美地正常工作。
是否有任何具體原因?我有一種感覺,它與md.update()有關。
但我在使用'Signature'時也使用了相同的功能。
任何幫助,將不勝感激。
您可以添加日誌以檢查正在進行瘋狂的時間量。 –