如何计算SHA-256哈希大小

时间:2017-04-20 12:29:11

标签: hash sha

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

2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824

此哈希有64个字符。因此,考虑到常见的编码,它的大小将是 -

UTF-8 = 64 * 8 = 512位 UTF-16 = 64 * 16 = 1024位

那么怎么称它为256bit哈希。我做错了转换吗?

2 个答案:

答案 0 :(得分:3)

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

因此,sha256在这里是4 * 64。没有错。

答案 1 :(得分:1)

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

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

32字节= 256位