Identificateur de chiffrement

Vous avez extrait un dump de base de données et voyez des chaînes comme $2y$10$... ou 5f4dcc3b5aa765d61d8327deb882cf99 et devez savoir ce que vous regardez avant de commencer à craquer ou à inverser. Cet identificateur applique des heuristiques de longueur, de jeu de caractères, de structure et de préfixe pour deviner l’algorithme ou l’encodage le plus probable derrière un échantillon de texte chiffré.

Comment identifier un texte chiffré

  1. 1

    Collez l'échantillon

    Un seul hachage, blob de texte chiffré, jeton ou chaîne encodée.

  2. 2

    Consultez les formats correspondants

    Tous les formats dont le motif correspond à votre échantillon sont listés dans le résultat.

  3. 3

    Vérifiez

    Si plusieurs formats correspondent, utilisez un craqueur de hachage ou un décodeur pour confirmer le bon.

  4. 4

    Notez l'incertitude

    L'identification à partir d'un échantillon seul est rarement définitive ; si rien ne correspond, l'outil l'indique.

Modèles de signature utilisés par l’identificateur

Basé sur la longueur (pour les hachages encodés en hexadécimal) :

Longueur (caractères hex) Identifié comme
32 MD5
40 SHA-1
64 SHA-256
128 SHA-512

Les autres longueurs, comme SHA-224 avec 56 caractères hex ou SHA-384 avec 96, ne sont pas reconnues comme hachages (une chaîne hex de 56 ou 96 caractères est classée comme Base64 à la place).

Basé sur le préfixe (seuls les préfixes bcrypt sont reconnus) :

  • $2a$ $2b$ $2y$ bcrypt

Les autres préfixes de type crypt ($1$, $5$, $6$, $argon2i$, $argon2id$, $pbkdf2$) ne sont pas reconnus.

Basé sur l’encodage :

  • Tous les caractères dans [A-Za-z0-9+/=] et longueur multiple de 4 : probablement Base64.
  • Trois segments séparés par ., chacun avec des caractères de [A-Za-z0-9_-] : JWT.

Les enveloppes PEM, les blobs OpenSSH ssh-rsa/ssh-ed25519 et les chaînes Base64url contenant - ou _ ne sont pas détectés.

Ce que l’identification ne peut pas vous dire

  • Algorithme exact avec 100 % de certitude. Une chaîne de 64 caractères hexadécimaux est signalée comme SHA-256, mais elle pourrait aussi être SHA3-256 ou BLAKE2s ; ils sont indiscernables par le texte chiffré. Les hachages NTLM (également 32 caractères hex) sont identiques à MD5.
  • Force de la clé. Un hachage bcrypt montre le facteur de coût dans son préfixe ($2y$10$ = coût 10), mais pas la force du mot de passe sous-jacent.
  • S’il est salé. Les hachages de mots de passe modernes (bcrypt, Argon2) sont toujours salés ; les anciens (MD5/SHA brut) peuvent l’être ou non.
  • Le texte en clair. L’identification ne renverse pas le hachage ; le craquage est un processus séparé, légal uniquement sur vos propres données.

Quand l’identificateur se trompe

  • Jetons avec préfixes personnalisés. Les applications enveloppent parfois un hachage avec leur propre préfixe ; retirez d’abord l’enveloppe.
  • Double encodage. Un hachage binaire enveloppé en Base64 sera mal identifié. Essayez de décoder une fois et de relancer.
  • Longueurs inhabituelles. Les hachages tronqués (les 16 premiers caractères de SHA-256 utilisés comme ID) apparaissent comme “Base64” parce que les règles de caractères et de longueur se chevauchent.
  • Formats encadrés ou enveloppés. Les blocs PEM, les clés OpenSSH et pbkdf2_sha256$... de Django ne sont pas reconnus ; retirez l’enveloppe ou le préfixe et réessayez, ou utilisez un analyseur dédié.

Cas d’utilisation

  • Audits de sécurité : cataloguer les types de hachage à travers une base de code avant une migration cryptographique.
  • Défis CTF : première passe rapide sur un blob inconnu.
  • Réponse aux incidents : identification du format des identifiants divulgués.
  • Débogage de framework : comprendre quel encodage une bibliothèque produit.

Rappel éthique

Identifier un format de hachage est une recherche passive. Craquer le hachage de quelqu’un d’autre sans autorisation viole les lois sur l’utilisation abusive des ordinateurs dans la plupart des juridictions. Ne travaillez que sur des hachages que vous possédez ou que vous êtes autorisé à analyser.

Questions fréquentes

Partiellement : MD5 a 32 caractères hexadécimaux, SHA-1 en a 40. Si les deux sont dans la même plage de longueur, vous ne pouvez pas les distinguer par le hachage seul. Le contexte (nom de colonne de base de données, valeurs par défaut du framework, schéma divulgué) le détermine généralement.

Non. Il identifie seulement. Inverser un hachage ou déchiffrer un texte chiffré nécessite des outils séparés (et la clé, ou des ressources informatiques pour le craquage) et est légal uniquement sur votre propre matériel.

Argon2id (ou bcrypt avec un facteur de coût élevé) est la recommandation actuelle. PBKDF2-SHA256 et scrypt restent acceptables. Le MD5 brut, SHA-1 ou SHA-256 non salé ne sont pas sûrs pour le stockage de mots de passe.

Non. La valeur que vous collez est envoyée à notre serveur pour vérifier son format, mais elle n’est stockée dans aucune base de données et n’est pas ajoutée au lien de la page.

Outils similaires

Outil disponible dans d’autres langues