当使用 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
目前这两种产生不同的结果。我如何让 JavaScript 以与 Linux 上的 md5sum 相同的方式获取 tar 文件的内容以进行 MD5 处理?
对于一个简单的字符串,md5sum 和 CryptoJS 产生相同的值。
编辑:使用名为 Fred.txt 的文件,内容为“Fred”,md5sum 和 CryptoJS 都产生相同的值:c624decb46fa3d60e824389311b252f6。
在 update.tar 文件中,Linux 上的 md5sum 给了我:1f046eedb7d8279953d233e590830e4f,在 CryptoJS 上它给了我:f0c3730e5a9863cffa0ba3fadd531788
Edit2:进一步测试表明,这实际上是一个问题,因为文件大小很大,例如 7 兆字节