J'essaie de créer un programme python qui lirait les mots d'un dictionnaire, créerait un hachage MD5 et le comparerait à un hachage donné.Pourquoi le hachage md5 d'un mot d'un fichier ne correspond pas au hachage d'une chaîne?
Tout fonctionne bien lorsque je tente de comparer deux hash de mots qui n'ont pas été lus à partir d'un fichier:
if hashlib.md5(b"string").hexdigest() == "b45cffe084dd3d20d928bee85e7b0f21":
print("Equal!")
Mais quand je lis la ligne de mots par ligne à partir d'un fichier, le hachage du le mot est différent. Le code ressemble à ceci:
f = open('short.txt', 'r')
stringHash = 'b45cffe084dd3d20d928bee85e7b0f21'
for line in f:
if stringHash == hashlib.md5(line.encode('utf_8')).hexdigest():
print("Found it! Password: %s" % line)
Merci pour toute aide et explication. L'
Cela a fonctionné! Merci mec! ;) –
vous pouvez accepter la réponse alors: http://stackoverflow.com/help/someone-answers –