javascript - 在 JavaScript 中计算文件的 SHA-256 哈希值和 B64

标签 javascript hash sha256

在 JavaScript 中计算文件的 SHA-256 最简单的方法是什么? (使用W3C的文件API)

一旦我有了这个文件的 sha-256 哈希值,我需要生成这个哈希值的 base64 吗?

您建议我使用哪些库?

提前致谢

最佳答案

你有没有想过使用 CryptoJS

CryptoJS 是一个不断增长的标准和安全加密算法集合,使用最佳实践和模式在 JavaScript 中实现。它们速度很快,并且具有一致且简单的界面。

CryptoJS

基本上,您可以包含 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/

相关文章:

javascript - 未捕获的类型错误 : Cannot set property 'innerHTML' of null

ruby - 在 Ruby 哈希中忽略重复键的哪个值?

java - 如何在Java中根据主题划分RDF三元组

c# - 无法验证 DKIM 的正文哈希

javascript - 查找函数是否返回 Promise 的方法

javascript - 添加时覆盖 Backbone 集合

security - 为什么 MD5 函数的代码不能帮助黑客破解它?

android - 由于应用程序没有签名,因此无法将 Android 应用程序与 Digital Asset Link 链接

sha256 - 比特币地址生成

javascript - 数组中单词的匹配(总和)、(最小值)的正则表达式