md5sum linux コマンドと CryptoJS の MD5 メソッドを使用するときに、tar ファイルの md5sum を取得して同じ値を生成しようとしています。
JavaScript では (ファイルが HTML フォームに入れられた後):
var reader = new FileReader();
reader.onloadend = function () {
text = (reader.result);
}
reader.readAsBinaryString(document.getElementById("firmware_firmware").files[0]);
var hash = CryptoJS.MD5(text);
hash.toString();
Linux では次のことを行います。
md5sum name_of_file.tar
現在、これら 2 つは異なる結果を生成します。Linux で md5sum が行うのと同じ方法で、JavaScript を使用して tar ファイルの内容を MD5 化するにはどうすればよいですか?
単純な文字列の場合、md5sum と CryptoJS は同じ値を生成します。
編集: Fred.txt という名前のファイルで、内容が "Fred" の場合、md5sum と CryptoJS の両方が同じ値を生成します: c624decb46fa3d60e824389311b252f6。
update.tar ファイルでは、Linux の md5sum は次のように表示します: 1f046eedb7d8279953d233e590830e4f
Edit2: さらにテストしたところ、7 メガバイトなどの大きなファイル サイズが原因で、これが実際に問題であることが示されました。