Inverser MD5 : comment déchiffrer un hash MD5 (2026)

Tutorial
13 min de lecture

Vous avez un seul hash MD5 comme 5f4dcc3b5aa765d61d8327deb882cf99 et vous voulez récupérer la valeur d'origine. Peut-être qu'il sort d'une colonne de base de données sur une machine CTF, ou qu'un client veut savoir si sa vieille table d'utilisateurs est encore lisible. La première chose à savoir : vous ne pouvez pas déchiffrer MD5. Il n'y a ni clé ni inverse. Ce que vous pouvez faire, c'est rechercher le hash ou le casser, et la méthode qui fonctionne dépend entièrement de ce qui a été haché. Pratiquez les techniques de récupération directement dans le cours Password Cracking de HackerDNA. Pour une vue d'ensemble, consultez notre guide complet du test d'intrusion.

Ce guide couvre l'inversion d'un seul hash MD5 connu : essayer d'abord une base de recherche inversée en ligne, savoir quand ces outils trouvent et pourquoi ils échouent, puis lancer un cracking local rapide quand ils ne donnent rien. Pour la méthodologie complète multi-algorithmes, il renvoie vers nos guides approfondis plutôt que de les répéter.

TL;DR : MD5 ne peut pas réellement être déchiffré parce que c'est une fonction de hachage à sens unique, sans clé ni inverse mathématique. Pour « inverser » un hash MD5, vous le recherchez dans une base de paires hash-texte clair pré-calculées (instantané pour les mots de passe communs, inutile pour tout ce qui est rare ou salé) ou vous le cassez localement en hachant des mots candidats jusqu'à une correspondance. Collez-le d'abord dans CrackStation ; si cela échoue, lancez hashcat -m 0 ou john --format=raw-md5 contre rockyou.txt.

Peut-on déchiffrer ou inverser un hash MD5 ?

Peut-on inverser un hash MD5 ? Pas par déchiffrement. MD5 est un hachage cryptographique à sens unique : il n'y a pas de clé à défaire ni d'algorithme publié qui déduise l'entrée à partir de la sortie. Le seul moyen de récupérer la valeur d'origine est de la deviner : hacher des chaînes candidates et comparer chaque résultat à votre cible jusqu'à une correspondance, ou rechercher le hash dans une base où quelqu'un l'a déjà fait exactement.

Les chiffres expliquent pourquoi il n'existe aucun inverse. MD5 transforme toute entrée en une sortie fixe de 128 bits, soit 2^128 hashes possibles, et écarte délibérément de l'information pour que la sortie ne révèle rien de l'entrée. La spécification originale (RFC 1321, 1992) en a fait un objectif de conception.

Alors pourquoi tous les moteurs de recherche affichent-ils des outils prétendant « décrypter MD5 » ou « unhash MD5 » ? Parce que pour les entrées qui intéressent le plus les attaquants, les mots de passe communs, ces outils fonctionnent. Ils n'inversent pas les maths. Ils consultent le hash dans une immense table pré-calculée d'entrées connues. Le vocabulaire « décryptage MD5 » est techniquement incorrect (le déchiffrement exige une clé, le hachage non), mais le résultat pratique est identique : l'attaquant récupère le texte clair.

Cette distinction décide de toute votre approche. Si la valeur d'origine était un mot courant, un mot de passe divulgué ou quelque chose de court, vous la récupérez en millisecondes. Si elle était salée, longue ou aléatoire, aucun outil ne l'inverse de votre vivant. Le reste de ce guide distingue rapidement ces deux cas.

Inverser un hash MD5 avec des outils de recherche en ligne

Pour un seul hash, le geste le plus rapide est de demander à Internet si quelqu'un l'a déjà vu. Les services de recherche inversée maintiennent des bases de milliards de paires hash-texte clair collectées à partir de dumps de mots de passe divulgués, de mots de dictionnaire et de brute force antérieurs. Si votre cible était une entrée courante, la réponse revient instantanément, sans aucun calcul de votre côté.

Les outils de recherche inversée à connaître en 2026 :

  • CrackStation - plus de 15 milliards d'entrées, gratuit, recherches instantanées pour MD5, SHA-1, SHA-256 non salés et autres hashes courants. C'est le premier à essayer.
  • md5decrypt.net - annonce 1,15 billion d'entrées. Surtout des mots de passe communs et des mots de dictionnaire, mais la taille produit des résultats que CrackStation manque.
  • hashes.com - un service d'entiercement payant pour hashes cassés. Utile quand les bases gratuites échouent et que vous n'avez pas de GPU.

Essayez le hash d'exemple sur CrackStation maintenant : 5f4dcc3b5aa765d61d8327deb882cf99. Il renvoie « password » en moins d'une seconde. Ce hash figure dans toutes les bases divulguées depuis 2009, c'est donc la première chose que tout outil de base de données ou de cracking essaie.

Quand les recherches inversées fonctionnent et quand elles échouent

Une recherche inversée n'est qu'une lecture clé-valeur sur une table pré-calculée. Elle trouve quand le hash exact figure déjà dans la table et ne renvoie rien sinon. Son comportement est donc prévisible :

  • Trouve les mots de passe communs, les mots de dictionnaire et tout ce qui est apparu dans une fuite publique. password, 123456 et qwerty se résolvent instantanément.
  • Échoue sur les hashes salés. Un sel par utilisateur change le hash même pour des mots de passe identiques, donc la paire pré-calculée n'existe jamais. Les recherches en ligne cessent totalement de fonctionner contre MD5 salé.
  • Échoue sur les entrées longues ou aléatoires. Une chaîne aléatoire de 16 caractères ou un UUID n'a jamais été haché avant vous, donc aucune table ne le contient. Une phrase secrète comme correcthorsebatterystaple échoue souvent ; un mot de passe réutilisé comme Tr0ub4dor&3 trouve parfois.

Une règle opérationnelle : ne collez jamais de hashes d'un audit réel dans une recherche publique. Certains services journalisent chaque requête, et les hashes de mots de passe de votre client sont des données sensibles qui ne doivent pas quitter leur environnement. Les recherches conviennent pour les CTF et vos propres données de test. Pour le travail réel, cassez localement.

💻
Pratiquez maintenant : Shadow Cracker - extrayez et cassez de vrais hashes de mots de passe d'un système Linux dans un lab dans le navigateur. Aucune installation, aucun VPN, tout se passe dans votre navigateur.

Quand les recherches échouent : cassez le hash MD5 localement

Si les bases de recherche inversée ne donnent rien, le hash n'était pas une entrée courante, mais cela ne veut pas dire qu'il est irrécupérable. Cela veut dire que vous devez générer les candidats vous-même. L'idée est la même que celle sur laquelle les tables de recherche ont été construites : hacher une liste de mots de passe probables et comparer chaque sortie à votre cible. Deux outils font cela très bien, et pour un seul hash MD5 non salé, chacun tient en une seule ligne.

Cracking rapide avec Hashcat (mode 0)

Enregistrez votre hash dans hash.txt, un par ligne, puis pointez Hashcat 6.2.6 vers une wordlist. Le mode 0 est le MD5 brut :

$ hashcat -m 0 -a 0 hash.txt /usr/share/wordlists/rockyou.txt
5f4dcc3b5aa765d61d8327deb882cf99:password

Session..........: hashcat
Status...........: Cracked
Recovered........: 1/1 (100.00%) Digests

Les options sont minimales : -m 0 sélectionne MD5, -a 0 sélectionne une attaque par dictionnaire simple, et le dernier argument est votre wordlist. Sur tout GPU récent, cela se termine en bien moins d'une minute, et le texte clair cassé s'affiche après les deux-points. Environ 30 à 50 % des hashes MD5 réels tombent avec rockyou.txt sans aucune règle.

Cracking rapide avec John the Ripper

Si vous n'avez pas de GPU, John the Ripper 1.9.0-jumbo-1 fait le même travail sur CPU. Indiquez-lui que le format est du MD5 brut pour qu'il ne devine pas NTLM sur une chaîne hexadécimale de 32 caractères :

$ john --format=raw-md5 --wordlist=/usr/share/wordlists/rockyou.txt hash.txt
password         (?)
1g 0:00:00:00 DONE

$ john --show --format=raw-md5 hash.txt
?:password
1 password hash cracked, 0 left

L'option --format=raw-md5 est ce que les gens oublient. Sans elle, John peut détecter le hash comme NTLM, ce qui produit la mauvaise réponse ou aucune. Après un passage, --show relit le résultat cassé depuis le potfile de John.

C'est aussi loin qu'une récupération à hash unique a besoin d'aller. Dès que vous cassez des lots, mélangez des algorithmes ou superposez des règles de mutation et des masques sur votre wordlist, passez à la méthodologie complète : notre tutoriel de cracking de hash couvre l'identification des hashes, les attaques par règles et par masque, et les benchmarks GPU pour MD5, SHA-1, NTLM et bcrypt, et le guide John the Ripper couvre le mode incrémental, les règles personnalisées et les scripts *2john qui extraient les hashes de fichiers chiffrés.

Voir le mécanisme : hachage à sens unique en Python

Si vous voulez sentir pourquoi MD5 n'a pas d'inverse, générez un hash vous-même et regardez un minuscule brute force le récupérer. La bibliothèque standard suffit :

import hashlib, itertools, string

target = "5d41402abc4b2a76b9719d911017c592"  # md5 de "hello"
for length in range(1, 6):
    for guess in itertools.product(string.ascii_lowercase, repeat=length):
        candidate = "".join(guess)
        if hashlib.md5(candidate.encode()).hexdigest() == target:
            print("Found:", candidate); exit()

Cela teste toute chaîne minuscule jusqu'à cinq caractères, environ 12 millions de candidats, et trouve « hello » en quelques secondes. Remarquez ce que la boucle ne fait jamais : inverser le hash. Elle hache vers l'avant et compare, encore et encore. C'est la seule opération disponible, ce qui est tout l'intérêt d'une fonction à sens unique.

C'est aussi pourquoi personne ne casse de vrais hashes en pur Python. La boucle tourne à environ 1 million de hashes par seconde ; Hashcat sur le GPU de la même machine en fait des milliards. Le script est un outil pédagogique, pas un outil de récupération.

Quand vous ne pouvez pas du tout inverser un hash MD5

Les recherches et le cracking partagent un même mode d'échec : si l'espace de recherche est trop grand, vous ne pouvez pas le parcourir. Trois situations mettent un hash MD5 effectivement hors de portée, et les reconnaître tôt vous épargne des jours de calcul inutile.

Le salage. Un MD5 salé mélange une valeur aléatoire par utilisateur dans l'entrée avant le hachage, donc deux utilisateurs avec le même mot de passe obtiennent des hashes différents. Cela anéantit les tables de recherche inversée, car la paire pré-calculée pour la valeur salée n'a jamais existé. Vous pouvez toujours casser un MD5 salé localement (Hashcat mode 10 pour md5($pass.$salt), mode 20 pour md5($salt.$pass)), mais vous devez attaquer chaque hash individuellement et vous avez besoin du sel.

Les entrées longues et aléatoires. Un mot de passe aléatoire de 16 caractères tiré d'un jeu de 95 caractères a 95^16 (environ 4,4 * 10^31) possibilités. Même à 164 milliards de hashes par seconde sur un GPU haut de gamme, cela dépasse l'âge de l'univers. Les jetons cryptographiques, les UUID et les clés d'API générées par machine vivent tous sans risque dans cette catégorie.

Ce n'était jamais du MD5 brut au départ. Les applications modernes stockent les mots de passe avec bcrypt, scrypt ou argon2, qui ajoutent un coût délibéré pour que chaque essai prenne des millisecondes au lieu de nanosecondes. La fiche OWASP sur le stockage des mots de passe explique pourquoi. En pratique, les hashes MD5 qui tombent vraiment sont ceux qui n'auraient jamais dû être en MD5 : systèmes hérités, outils internes que personne n'a mis à jour, et tables migrées d'anciennes bases. Le même processus de récupération s'applique aux autres hashes rapides non salés, alors essayez-le contre SHA-1 dans notre lab de cracking de hash SHA-1.

Inverser MD5 : FAQ

Peut-on inverser un hash MD5 mathématiquement ?

Non. MD5 est une fonction de hachage cryptographique sans inverse mathématique. Elle transforme toute entrée en une sortie fixe de 128 bits et écarte de l'information au passage. Ce que les gens appellent « inverser MD5 » est du brute force ou une recherche en base, pas une véritable inversion. Aucun algorithme publié ne récupère l'entrée à partir du hash directement.

« Décrypter MD5 » est-il la même chose qu'« inverser MD5 » ?

Oui, dans l'usage courant. Les deux expressions décrivent la récupération du texte clair à partir d'un hash. Le terme « déchiffrement » est techniquement incorrect car le hachage n'a pas de clé et n'est pas du chiffrement. Mais les outils en ligne et les requêtes utilisent « décrypter MD5 », « MD5 decoder » et « unhash MD5 » de façon interchangeable. La technique sous-jacente est toujours la recherche ou le brute force.

Pourquoi un déchiffreur MD5 en ligne renvoie-t-il mon mot de passe instantanément ?

Parce que votre mot de passe figurait déjà dans sa base. Les sites de recherche inversée stockent des milliards de paires hash-texte clair issues de fuites et de dictionnaires. Quand votre hash correspond à une entrée, le site relit la réponse en millisecondes. C'est une lecture en base, pas un déchiffrement. Salez l'entrée ou utilisez une valeur aléatoire longue et le même site ne renvoie rien.

Combien de temps faut-il pour inverser un hash MD5 ?

De quelques millisecondes à jamais. Un mot de passe courant comme « password » figure dans toutes les bases de recherche et se résout instantanément. Un mot de passe minuscule de 8 caractères se casse en moins de deux secondes sur un seul GPU. Un mot de passe aléatoire de 16 caractères est infaisable à calculer. La réponse honnête est que cela dépend entièrement de l'entrée d'origine.

Que signifie « unhash MD5 » ?

« Unhash » est un argot informel pour casser un hash et retrouver son texte clair. C'est la même opération qu'« inverser MD5 » ou « décrypter MD5 ». Le mot suggère que l'opération est l'inverse du hachage, mais mathématiquement elle ne l'est pas. Les outils qui prétendent « unhash » n'importe quelle entrée utilisent des tables de recherche ou du brute force en interne.

MD5 est-il encore sûr pour les mots de passe en 2026 ?

Non. MD5 est considéré comme cryptographiquement cassé depuis 2004 et inapte au stockage de mots de passe depuis plus de dix ans. Les applications modernes doivent utiliser bcrypt, scrypt ou argon2 avec des paramètres de coût appropriés. MD5 conserve des usages légitimes étroits pour les sommes de contrôle non liées à la sécurité, mais jamais pour des identifiants, des jetons de session ou quoi que ce soit qu'un attaquant voudrait récupérer.

Considérations légales et éthiques

Rappel essentiel : Ne tentez d'inverser que des hashes MD5 que vous avez la permission écrite explicite de tester. Casser des hashes de systèmes que vous ne possédez pas enfreint le CFAA (États-Unis), le Computer Misuse Act (Royaume-Uni) et les lois équivalentes dans le monde.

Les audits d'intrusion autorisés et les compétitions CTF sont les seuls contextes appropriés pour casser des hashes que vous n'avez pas générés vous-même. Le périmètre de tout audit doit explicitement mentionner le cracking de mots de passe comme activité autorisée. Si ce n'est pas le cas, obtenez une confirmation écrite du client avant d'extraire ou d'attaquer tout matériel de hash.

Pour la pratique et l'auto-apprentissage, tenez-vous-en à des environnements dédiés : labs HackerDNA, machines VulnHub, Hack The Box, OverTheWire ou toute plateforme CTF. Ils existent spécifiquement pour la pratique offensive et ne comportent aucun risque légal. Générer vos propres hashes MD5 localement avec echo -n "test" | md5sum convient aussi pour tester des outils et des scripts.

Une ligne éthique à tenir : ne téléchargez pas de dumps d'identifiants issus de vraies fuites. Le jeu de données est tentant parce que les hashes sont réels et les taux de réussite élevés, mais la possession de matériel d'identifiants volés crée une exposition légale même quand l'intention est la recherche. Les jeux d'entraînement publics comme rockyou.txt font exception parce que les organisations de sécurité les distribuent depuis des années et qu'ils sont fournis avec Kali Linux.

Vos prochaines étapes pour inverser les hashes MD5

Le chemin de récupération d'un seul hash MD5 est court. Vous ne pouvez pas le déchiffrer, alors commencez par la méthode la moins coûteuse qui pourrait déjà avoir la réponse : collez-le dans CrackStation. Si l'entrée était courante, vous avez votre texte clair en une seconde. Si la recherche échoue, lancez hashcat -m 0 ou john --format=raw-md5 contre rockyou.txt et laissez votre matériel deviner.

Si même cela échoue, le hash est presque certainement salé, long et aléatoire, ou n'a jamais été du MD5 brut, et aucun calcul n'y change rien. Savoir où se trouve le mur vous évite de brûler une journée sur un hash qui n'allait jamais tomber.

Pratiquez ces techniques directement dans le lab Shadow Cracker de HackerDNA, où vous extrayez des hashes de mots de passe d'un système Linux en direct et les cassez dans votre navigateur. Suivez le cours Password Cracking complet pour des leçons guidées sur MD5, SHA-1, NTLM et les formats de fichiers shadow. Commencez avec l'offre gratuite de HackerDNA, sans carte bancaire.

HackerDNA Team

Équipe HackerDNA

Écrit par l'équipe HackerDNA - des professionnels de la cybersécurité qui créent des labs de hacking pratiques et du contenu éducatif pour vous aider à développer des compétences réelles en sécurité.

Rencontrer l'équipe

Prêt à mettre cela en pratique?

Arrêtez de lire, commencez à hacker. Obtenez une expérience pratique avec plus de 170 labs de cybersécurité réels.

Commencer à Hacker Gratuitement
13 000+ Hackers 100+ Labs & Cours Gratuit
Commencer Gratuitement