sha256哈希长度



我想从字符串中获得哈希sha256,因为sha256有256位长度,每个字节的大小是8位,我认为哈希的长度(在字符串中)必须是32个字符(256/8 = 32)。但是哈希长度是64个字符。有人能帮我吗?

print(hashlib.sha256('lsd'.encode()).hexdigest())

输出:

3fd7dcbd130286b3799aa74e7fcb1d2ecc80d4c95a158d91dfa1d6a72557f769

哈希长度是64,不应该是32吗?

输出字符实际上是十六进制数字,有16个可能的数字用于表示数字(0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F)。每个十六进制数字只需要4位,因为2^4=16。

现在我们有256位,每个数字4位,所以256/4=64。我们得到64位的长度

最新更新