在 JavaScript 中计算文件的 SHA-256 最简单的方法是什么? (使用W3C的文件API)
一旦我有了这个文件的 sha-256 哈希值,我需要生成这个哈希值的 base64 吗?
您建议我使用哪些库?
提前致谢
最佳答案
你有没有想过使用 CryptoJS
CryptoJS 是一个不断增长的标准和安全加密算法集合,使用最佳实践和模式在 JavaScript 中实现。它们速度很快,并且具有一致且简单的界面。
基本上,您可以包含 Components/lib-typedarrays-min.js,然后在代码中执行以下操作。
var reader = new FileReader();
// If we use onloadend, we need to check the readyState.
reader.onloadend = function(evt) {
if (evt.target.readyState == FileReader.DONE) { // DONE == 2
var wordArray = CryptoJS.lib.WordArray.create(e.target.result);
var hash = CryptoJS.SHA256(wordArray);
}
};
var blob = file.slice(start, stop + 1);
reader.readAsArrayBuffer(blob);
我尚未测试上述解决方案,但它应该可以正常工作。
关于javascript - 在 JavaScript 中计算文件的 SHA-256 哈希值和 B64,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27060248/