SHA-256 哈希大小是如何计算的?

How is SHA-256 hash size calculated?

SHA-256 为我们提供给定输入的 256 位哈希值。当我尝试时,我得到了以下随机输入字符串的哈希值:

2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824

这个散列有 64 个字符。考虑到常见的编码,它的大小是:

UTF-8 = 64 * 8 = 512 位

UTF-16 = 64 * 16 = 1024 位

那么为什么它被称为 256 位哈希呢?我是否进行了错误的转换?

这是base16/hex表示,每个字节只有4(log2 16)位数据。

因此这里的sha256是4*64。没事。

字符串 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824 是一个十六进制编码的字符串。它是以 16 进制数字表示的字节,因此每 2 个字符代表一个字节。

所以2c是第一个字节,f2是第二个字节等等。由于字符串有64个字符,所以它代表32个字节。

而 32 字节 = 256 位