Client-Side calculated MD5 hash using CryptoJS is differnt to terminal calculation
我已将文件上传集成到我的网络应用程序中。不应上传文件,但应在客户端计算文件的 MD5 哈希值,然后仅将此哈希值发送到服务器。
Javascript 部分:
1 2 3 4 5 6 7 8 9 | if (input.files && input.files[0]) { let reader = new FileReader(); reader.onload = (e) => { let data = e.target.result; var hashed = CryptoJS.MD5(data); console.log('hashed: ' + hashed); } reader.readAsDataURL(input.files[0]); } |
然而,上面的代码给了我与终端不同的哈希值(md5sum)。终端给了我与各种在线转换器相同的哈希值。
和我试过的SHA1和SHA256算法一样。
示例:
来自维基百科的这张图片给出了以下哈希值。
终端:e5d23cb99614778b2acb163b8ee90810
CryptoJS:468641711626fcfe6d956ddb21ccd4c7