2012-09-30 2 views
5
내가 파이썬을 사용하여 해시를 비교하기 위해 노력하고있어

해시,하지만 난이 문제와 붙어있어 :파이썬 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()'을 출력하여 파이썬이 생각하는 것을 확인하십시오. – Will

답변

3

모두로 인쇄 해 봅니다.

나는이 당신을 위해 작동합니다 가정 :

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