如何在浏览器中计算字符串的 SHA 哈希 JavaScript

How to calculate SHA hash of a string in browser JavaScript

对 JavaScript 我很陌生。

我认为我知道的

我试过了

但我的问题是

有一个本机浏览器加密。

您想要的代码示例是:

const text = 'An obscure body in the S-K System, your majesty. The inhabitants refer to it as the planet Earth.';

async function digestMessage(message) {
  const encoder = new TextEncoder();
  const data = encoder.encode(message);
  const hash = await crypto.subtle.digest('SHA-256', data);
  return hash;
}

digestMessage(text)
  .then(digestBuffer => console.log(digestBuffer.byteLength));

上面的例子是 here 找到的,这是 in-browser 密码学的良好开端。

回复:“浏览器上是否有本机加密库?”

您可以使用 CDN 库。

https://cdnjs.com/libraries/crypto-js

请将以下脚本标记引用到您的 html :

<script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/4.1.1/crypto-js.min.js" integrity="sha512-E8QSvWZ0eCLGk4km3hxSsNmGWbLtSCSUcewDQPQWZF6pEU8GlT8a5fF32wOl1i8ftdMhssTrF/OhyGWwonTcXA==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>

关于如何使用库中的方法,请参考以下网站:

https://cryptojs.gitbook.io/docs/

以下页面显示了我的建议来自的示例:

https://codepen.io/omararcus/pen/QWwBdmo