2012-09-30 13 views
5
私は、Pythonを使用してハッシュを比較しようとしている

ハッシュが、私はこの問題にこだわっている:PythonのMD5は比較

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

-- 5d21e42d34fc1563bb2c73b3e1811357 
-> 5d21e42d34fc1563bb2c73b3e1811357 

しかし、この比較は決して本当である:私は検索

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

解決策を見つけて比較する前に文字列をエンコードしようとしましたが、とにかく動作しません。

乾杯!そして、あなたがいただきました!本当に内側に表示されます

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

+5

あなたは両方の文字列が空白や改行などの一切の空白文字が含まれていませんか? – Qiau

+0

両方の文字列が同じタイプ(例:ユニコード文字列、バイナリ文字列など)ですか?それぞれの値の 'repr()'を印字して、Pythonがどのようなものであるかを見てください。 – Will

答えて

3

では、どちらを印刷しよう。

私はこれがあなたのために動作することとします

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