我只是在python3.4.3中测试md5散列。我不明白我所得到的结果。我正在尝试比较sql数据库中的散列密码,但每次尝试这样做,我都会得到不同的结果。下面是我为说明我的问题而创建的代码:
import hashlib
x = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
p = '5'
for i in x:
k = hashlib.md5(p.encode('utf-8'))
print(k)结果:
<md5 HASH object @ 0x02A07B10>
<md5 HASH object @ 0x02A07CF0>
<md5 HASH object @ 0x02A07B10>
<md5 HASH object @ 0x02A07CF0>
<md5 HASH object @ 0x02A07B10>
<md5 HASH object @ 0x02A07CF0>
<md5 HASH object @ 0x02A07B10>
<md5 HASH object @ 0x02A07CF0>
<md5 HASH object @ 0x02A07B10>
<md5 HASH object @ 0x02A07CF0>
<md5 HASH object @ 0x02A07B10>发布于 2015-11-19 23:33:29
您的输出是打印HASH对象的地址,而不是MD5摘要本身。
如果您想看到它,那么调用该对象上的digest()。这将以16字节字符串的形式返回MD5的128位输出。如果要以十六进制打印出来,请使用hexdigest():
k = hashlib.md5(p.encode('utf-8')).hexdigest()https://stackoverflow.com/questions/33816294
复制相似问题