2014-06-08 5 views
-1

La question est simple. J'ai:Python hashlib décryptage en utilisant md5

import hashlib 
m = hashlib.md5() 
m.update(b"My name is Joe") 
x = m.hexdigest() 
print(x) 

cette sortie:

c923c2de3064b7be0223d42697ad57e2

maintenant comment puis-je le décrypter?

+0

Les fonctions de hachage sont irréversibles. – vaultah

+0

Eh bien, si l'utilisateur revient pour entrer un mot de passe ou quelque chose qui a été haché, comment le vérifier si c'est irréversible? –

+1

@robertrocha Vous pouvez vérifier le mot de passe saisi en le hachant puis en le faisant correspondre avec le mot de passe hashed_ déjà présent dans votre base de données. – xyres

Répondre

0

MD5 est une fonction de hachage. En d'autres termes, il n'est pas destiné à être inversé. La seule façon d'inverser MD5 serait de tester toutes les possibilités:

for word in all_the_possible_words(): 
    if md5(word) == my_hash: 
     print("I found the word!", word) 
     break 

Mais cela ne serait pas possible dans un laps de temps raisonnable, sauf si vous avez des informations sur le mot que vous cherchez (par exemple, la nombre de caractères, les caractères qu'il utilise, ...).

Une autre possibilité serait d'utiliser rainbow tables.

+0

Ok. Eh bien, comment vérifiez-vous que l'entrée brute est la même que l'entrée hachée? –

+1

Simplement en hachant l'entrée brute aussi: 'si md5 (raw_input) == hashed_input: print (" Vérification ok ")' – julienc

Questions connexes