gpt4 book ai didi

javascript - 使用 SJCL 获取 sha256 哈希的十六进制表示

转载 作者:数据小太阳 更新时间:2023-10-29 04:10:48 24 4
gpt4 key购买 nike

SJCL docs提供以下代码作为 sha256 的示例:

var bitArray = sjcl.hash.sha256.hash("message");  
var digest_sha256 = sjcl.codec.hex.fromBits(bitArray);

当我期望一个 16 个字符的十六进制字符串(256 位 = 16 个十六进制字符)时,该示例中的摘要等于一个 64 个字符的十六进制字符串。我错过了什么?如何获得 16 个字符的哈希摘要?

最佳答案

你误会了什么。 256 位等于 16 个十六进制数字。

可以这样想:256 位等于 32 字节(一个字节中有 8 位)。一个字节(8 位)可以编码 256 (2^8) 个不同的值。一个十六进制数字(base-16)可以编码 16 个不同的值。如果要编码与一个字节相同数量的值,您需要多少个十六进制数字? 两个;两个十六进制数字可以编码 256 个不同的值 (16^2)。所以,如果我们每个字节需要两个十六进制数字,而 256 位等于 32 个字节,那么这意味着我们需要 64 个十六进制数字来表示可以存储在 256 位中的信息。

十六进制摘要很好。它应该是 64 个字符。

关于javascript - 使用 SJCL 获取 sha256 哈希的十六进制表示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12608458/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com