首页 > 解决方案 > 如何在 Javascript 中同步计算 SHA-256?

问题描述

我有一个 vanilla javascript 项目,它使用 ClosureCompiler 生成一个缩小的 js 文件。此文件是人们将包含在他们自己的网站中的 SDK。我需要计算一个 SHA-256 哈希,但结果却比它应该的要复杂。

我想要的是:

const data = "test"
const hashedData = SHA256(data);

要求:

  1. 应该是同步的。
  2. 应该使用香草 javascript。
  3. 应该用闭包编译器编译。
  4. 不需要依赖外部网站。我可以将外部库中的代码复制到我自己的项目中。但它应该是像 SJCL 这样的受信任/可靠的库。

我试过的:

Webcrypto.subtle:这将返回一个 Promise,而不是一个字符串。它需要我使我的 SHA256 函数异步。这将需要大量的重新架构。

SJCL:不使用闭包编译器进行编译。

标签: javascriptgoogle-closure-compilersha

解决方案


推荐阅读