解释散列值中包含数字和字母的位数

时间:2016-12-20 18:25:56

标签: string hash byte bits

我需要一些帮助来理解这个概念: 如果我有256位散列,则该值基本上是一个64个字符的长字符串。这是因为每个字符长4位(64 * 4 = 256),对吗?但是,数字字母也用于哈希值,字母长度为8位。具有字母和数字的64字符长哈希键是否最终会创建大于256位的哈希值?

以此哈希值为例:7833dc6e82e9378117bcb03128ac8fdd95d9073161ebc963783b3010dd847ff3

长度为64个字符,但字母d为8位而不是4.那么这个散列如何计算为256位?

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

这些字母不是真正的字母。您可能已经注意到,唯一包含的字母字符是A-F。这是因为哈希使用基数16(hexadecimal)编号。

与有效字符为0-9的基数10不同,在基数16中,有16个有效字符:0 1 2 3 4 5 6 7 8 9 A B C D E F16 = 2^4,因此每个字符需要4位。