以下代码段介绍了python hashlib.md5
的基本用法(在py2.7中)。
>>> import hashlib
>>> m = hashlib.md5()
>>> m.update('phrase')
>>> m.digest()
'8Z\xa58^\x83\xef\xc5\xd8<u\x88\xee_\xb7\xe8'
>>> type(m.digest())
<type 'str'>
我有两个问题:
385aa5385e83efc5d83c7588ee5fb7e8
之类的简单哈希的原因是什么?这个转义的十六进制表示用于什么?答案 0 :(得分:2)
For 1。:只需使用m.hexdigest()
。
请参阅此处了解文档:http://docs.python.org/2/library/hashlib.html#hashlib.hash.hexdigest
答案 1 :(得分:1)
您正在查看哈希摘要的二进制表示。你想要的是由hash.hexdigest()
生成的十六进制摘要:
>>> import hashlib
>>> m = hashlib.md5()
>>> m.update('phrase')
>>> m.hexdigest()
'385aa5385e83efc5d83c7588ee5fb7e8'
Python允许您访问原始二进制值和十六进制表示。