我需要一些帮助来理解这个概念: 如果我有256位散列,则该值基本上是一个64个字符的长字符串。这是因为每个字符长4位(64 * 4 = 256),对吗?但是,数字字母也用于哈希值,字母长度为8位。具有字母和数字的64字符长哈希键是否最终会创建大于256位的哈希值?
以此哈希值为例:7833dc6e82e9378117bcb03128ac8fdd95d9073161ebc963783b3010dd847ff3
长度为64个字符,但字母d为8位而不是4.那么这个散列如何计算为256位?
感谢您的帮助!
答案 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 F
。 16 = 2^4
,因此每个字符需要4位。