我认为你需要它反过来. “Dummy String”不是十六进制中的有效数字.你可以通知它:
>>> binascii.hexlify('Dummy String')
'44756d6d7920537472696e67'
但不能完全消除它. unhexlify采用十六进制的字符串并将其转换为ASCII表示形式:
>>> binascii.unhexlify('44756d6d7920537472696e67')
'Dummy String'
你需要的是md5字符串(在我们的例子中是“Dummy String”)并且unhexlify它的哈希:
import binascii
import hashlib
the_hash = hashlib.md5('Dummy String').hexdigest()
print the_hash
the_unhex = binascii.unhexlify(the_hash)
print the_unhex
这会产生散列和未完成的散列:
ec041da9f891c09b3d1617ba5057b3f5
ЛLЬ-ю?=¦PWЁУ
注意:虽然输出看起来并不像你的那样 – “?????? =?PW ??”,两者中的“PW”和“=”让我非常肯定它是正确的.