【发布时间】:2018-03-21 08:09:05
【问题描述】:
我使用以下代码来计算 MD5 哈希码的二进制表示。
MD5 总是 128 字节,bin 返回一个以“0b”开头的字符串。因此,md5_bin 的长度必须始终为 130,但是当我运行程序时,它在 random_str 的不同值上在 128 和 130 之间变化。
md5_bin = bin(int(hashlib.md5(random_str).hexdigest(),16))`
print len(md5_bin)
【问题讨论】:
-
bin不会添加前导0s...(它怎么知道要添加多少?)。len(hashlib.md5(random_bytes).hexdigest())永远是 32。