Python MD5哈希比较

5

我正在尝试使用Python比较哈希值,但是我卡在了这个问题上:

print ('-- '+hashesFile[h])
print ('-> ' +hashlib.md5(wordsFile[j]).hexdigest())   

-- 5d21e42d34fc1563bb2c73b3e1811357
-> 5d21e42d34fc1563bb2c73b3e1811357

但是这种比较从来不成立:

if (hashesFile[h] == hashlib.md5(wordsFile[j]).hexdigest()):
 print ('ok')

我搜索了解决方案并尝试在比较之前对字符串进行编码,但无论如何都不起作用。

祝好!!


5
你确定这两个字符串都不包含空格或换行符之类的空白字符吗? - Qiau
这两个字符串是同一类型吗(例如,它们是Unicode字符串、二进制字符串等)?尝试打印每个值的repr()以查看Python认为它们是什么。 - Will
1个回答

3

尝试将两者都打印出来:

print '-- %r' % hashesFile[h]
print '-> %r' % hashlib.md5(wordsFile[j]).hexdigest())  

那么你将看到真正的内部内容。

我想这对你有用:

if (hashesFile[h].strip() == hashlib.md5(wordsFile[j]).hexdigest()):
    print ('ok')

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接