我正在使用Java中的SHA256在本地对字符串进行哈希处理。我一直在考虑是否会有某种正式的库或函数,但是我发现的只是负载不同的项目,每个项目都有不同的脚本,而且我不确定脚本是否值得信任(因为我不是专家,并且绝对没有资格对其进行评估)或如何实施它们。编辑:我需要文本输出,而不是十六进制,抱歉,如果我在发布原始问题时没有解释这一点。
到目前为止,这是我尝试过的方法:
async function sha256(message) {
// encode as UTF-8
const msgBuffer = new TextEncoder('utf-8').encode(message);
// hash the message
const hashBuffer = await crypto.subtle.digest('SHA-256', msgBuffer);
// convert ArrayBuffer to Array
const hashArray = Array.from(new Uint8Array(hashBuffer));
// convert bytes to hex string
const hashHex = hashArray.map(b => ('00' + b.toString(16)).slice(-2)).join('');
console.log(hashHex);
return hashHex;
}
sha256(passwordInput);
未捕获(承诺)TypeError:无法读取未定义的属性“摘要”
我是javascript的新手,欢迎所有建议,是的。
签出此:https : //github.com/brix/crypto-js
您可以使用以下内容:
require(["crypto-js/aes", "crypto-js/sha256"], function (AES, SHA256)
{
console.log(SHA256("Message"));
});
或不需要:
<script type="text/javascript" src="path-to/bower_components/crypto-js/crypto-js.js"></script>
<script type="text/javascript">
var encrypted = CryptoJS.AES(...);
var encrypted = CryptoJS.SHA256(...);
</script>
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句