【问题标题】:Python md5 hashes comparisonPython md5 哈希比较
【发布时间】: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 认为它们是什么。

标签: python hash md5


【解决方案1】:

尝试将两者都打印为:

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

然后你会看到里面真正的东西。

我想这对你有用:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-20
    • 2018-09-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多