【发布时间】:2012-09-30 09:11:13
【问题描述】:
我正在尝试使用 Python 比较哈希,但我遇到了这个问题:
print ('-- '+hashesFile[h])
print ('-> ' +hashlib.md5(wordsFile[j]).hexdigest())
-- 5d21e42d34fc1563bb2c73b3e1811357
-> 5d21e42d34fc1563bb2c73b3e1811357
但这种比较永远不会正确:
if (hashesFile[h] == hashlib.md5(wordsFile[j]).hexdigest()):
print ('ok')
我搜索了一个解决方案并尝试在比较它们之前对字符串进行编码,但无论如何都不起作用。
干杯!!
【问题讨论】:
-
你确定两个字符串都不包含空格或换行符之类的空白字符吗?
-
这两个字符串是否属于同一类型(例如,它们是 unicode 字符串、二进制字符串等)?尝试打印每个值的
repr(),看看 Python 认为它们是什么。