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

时间:2014-11-21 11:25:40

标签: javascript hash sha256

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

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

你建议我做什么图书馆?

提前致谢

2 个答案:

答案 0 :(得分:3)

您是否考虑过使用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);

我还没有对上述解决方案进行测试,但它应该可以正常工作。

答案 1 :(得分:-2)

OpenSSL是一种广泛使用的加密工具