Outil d'identification de hash (recherche inverse) | Détection automatique de MD5, SHA-1, SHA-256, SHA-512, SHA-3, BCrypt, Argon2

Collez une chaîne ressemblant à un hash, et cet outil détermine quel algorithme — MD5, SHA-1, SHA-256, SHA-512, SHA-3, BCrypt ou Argon2 — l'a probablement généré, en se basant sur sa longueur, son jeu de caractères et son préfixe. Tout le traitement s'effectue entièrement dans le navigateur.

La valeur de hash elle-même n'enregistre pas le nom de l'algorithme utilisé pour la générer. Comme plusieurs algorithmes peuvent partager la même longueur de sortie, ce résultat est la « supposition la plus probable » basée sur la longueur, le jeu de caractères et le préfixe, et non une conclusion certaine à 100 %.

Conseils pour identifier un hash

  • L'identification se base uniquement sur la longueur, le jeu de caractères (hexadécimal ou Base64) et le préfixe comme indices ; elle ne recalcule pas réellement le hash pour le vérifier. Elle se contente de montrer les candidats déductibles du format.
  • BCrypt ($2a$/$2b$/$2y$) et Argon2 ($argon2id$, etc.) intègrent directement le nom de l'algorithme et les paramètres dans le préfixe, ce qui permet une identification à haute confiance.
  • Une chaîne hexadécimale de 64 caractères correspond le plus souvent à SHA-256, mais SHA3-256 produit la même longueur ; si vous connaissez le langage ou la bibliothèque du système d'origine, tenez-en compte également.
  • Les dumps de hash copiés sur plusieurs lignes (séparés par des sauts de ligne ou des espaces) voient aussi leurs espaces internes automatiquement supprimés avant l'identification, vous pouvez donc les coller tels quels.
  • Si vous n'êtes pas certain du résultat, la méthode la plus fiable consiste à vérifier la source du hash — le code source ou la documentation de l'application.

Questions fréquentes

Non, pas à partir de la seule valeur de hash. Certains algorithmes, comme SHA-256 et SHA3-256, produisent des sorties d'exactement la même longueur, si bien que la sortie seule ne peut jamais être concluante. Pour en avoir la certitude, il faut consulter le code source ou la documentation de l'application qui a généré le hash.

BCrypt et Argon2 sont conçus spécifiquement pour le stockage des mots de passe et utilisent un « Modular Crypt Format » qui intègre le nom de l'algorithme et les paramètres sous forme de texte au début du hash, comme $2b$ ou $argon2id$. Tant que cette information peut être lue, l'algorithme peut être déterminé de manière unique.

Non, il ne le peut pas. Cet outil se contente d'estimer le type d'algorithme à partir de l'« apparence » de la valeur de hash ; il n'offre aucune fonction permettant de retrouver les données d'origine à partir d'un hash, comme une attaque par force brute.

La résistance aux collisions de MD5 et SHA-1 a été rompue ; s'ils sont utilisés pour stocker des mots de passe, cela doit être traité comme un risque de sécurité. Il est recommandé de migrer ces systèmes vers BCrypt ou Argon2id, conçus spécifiquement pour le stockage des mots de passe.

Oui. Avec l'outil de ce site Calcul et comparaison groupés de hash, vous pouvez saisir la même chaîne et calculer réellement ses valeurs MD5, SHA-1, SHA-256, SHA-512, SHA-3, BCrypt et Argon2id afin de les comparer à ce résultat d'identification.
ツールくん

Anecdote — Pourquoi une valeur de hash seule ne permet pas de déterminer l'algorithme

Le rôle d'une fonction de hachage est de convertir des données d'entrée en une sortie de longueur fixe, et cette sortie (le condensé) ne contient elle-même aucune métadonnée indiquant quel algorithme l'a produite. C'est une conséquence inévitable de sa conception : intégrer des métadonnées changerait la longueur de la sortie, ce qui briserait la propriété de « longueur fixe » essentielle à une fonction de hachage cryptographique. Il ne nous reste donc, comme indice, que l'« apparence » de la sortie — sa longueur et son jeu de caractères.

Cette limite apparaît le plus nettement dans la relation entre les familles SHA-2 et SHA-3. SHA-256 et SHA3-256 ont des structures internes totalement différentes (SHA-2 utilise une construction de Merkle-Damgård, SHA-3 une construction en éponge), mais toutes deux sont conçues pour produire une sortie de 256 bits, soit 64 caractères hexadécimaux. La même relation existe entre SHA-224/SHA3-224, SHA-384/SHA3-384 et SHA-512/SHA3-512 ; la longueur de sortie seule ne permet donc jamais de trancher. Comme SHA-2 est en pratique bien plus répandu, cet outil présente la variante SHA-2 comme candidat privilégié lorsque les longueurs coïncident, mais il ne s'agit en définitive que d'une supposition statistique.

À l'inverse, des algorithmes de hachage de mots de passe comme BCrypt et Argon2 lèvent cette ambiguïté en adoptant un format autodescriptif appelé Modular Crypt Format. Des chaînes comme $2b$12$... ou $argon2id$v=19$... intègrent sous forme de texte, au début du hash, le nom de l'algorithme, la version et les paramètres, ce qui permet de reconstituer de manière unique la méthode de calcul rien qu'en regardant la chaîne. Face à un hash de ce format, une identification définitive devient possible.

Ce type de travail d'identification intervient dans des situations concrètes : l'analyse de dumps de mots de passe extraits de systèmes hérités, ou les défis de cryptanalyse lors de compétitions de sécurité CTF (Capture The Flag). Réduire les algorithmes possibles à partir d'une valeur de hash permet de décider efficacement quel outil d'analyse ou quelle méthode de cassage essayer ensuite, comme le mode d'attaque à choisir dans Hashcat.

→ Voir toutes les anecdotes