【发布时间】:2017-06-04 17:40:27
【问题描述】:
我正在尝试创建一个 python 程序,它可以从字典中读取单词,创建一个 md5 散列并将其与给定的散列进行比较。
当我尝试比较两个尚未从文件中读取的单词哈希时,一切正常:
if hashlib.md5(b"string").hexdigest() == "b45cffe084dd3d20d928bee85e7b0f21":
print("Equal!")
但是当我从文件中逐行读取单词时,单词的哈希值是不同的。代码如下所示:
f = open('short.txt', 'r')
stringHash = 'b45cffe084dd3d20d928bee85e7b0f21'
for line in f:
if stringHash == hashlib.md5(line.encode('utf_8')).hexdigest():
print("Found it! Password: %s" % line)
感谢您的帮助和解释。
【问题讨论】: