Skip to content

Comment déchiffrer un hash SHA-256 pour retrouver l'entrée d'origine ?

Réponse courte

On ne le déchiffre pas — les hashs cryptographiques sont des fonctions à sens unique sans inverse. « Cracker » un hash, c'est deviner des entrées candidates, les hacher et comparer (dictionnaire, force brute, rainbow tables), ce qui explique justement pourquoi on utilise des hashs lents et salés pour les mots de passe. Aucune clé ne « déchiffre » un hash. Si une donnée peut être déchiffrée, c'est qu'elle a été chiffrée, pas hachée — et le Base64 est un encodage réversible, pas du hachage.

C'est un piège classique pour juniors. L'expression « déchiffrer un hash » semble raisonnable mais c'est une erreur de catégorie : hachage et chiffrement sont des opérations différentes, et une seule des deux est réversible.

Le hachage est à sens unique par conception

SHA-256 transforme une entrée de taille quelconque en un condensé fixe de 256 bits en mélangeant et compressant les données à répétition. La fonction jette délibérément de l'information — de nombreuses entrées différentes donnent une sortie de même longueur — il n'existe donc aucun inverse mathématique à exécuter. Cette propriété s'appelle la résistance à la préimage : à partir d'un condensé, vous ne pouvez pas calculer une entrée qui le produit. Il n'y a en outre aucune clé en jeu, donc rien avec quoi « déchiffrer ».

Ce que « cracker » fait réellement

Quand des outils semblent « inverser » un hash, ils devinent. La première étape consiste à reconnaître l'algorithme — c'est exactement ce que fait un identificateur de hash en ligne — après quoi l'attaquant prend des entrées candidates — mots d'un dictionnaire, mutations, ou chaînes en force brute — hache chacune et vérifie si le condensé correspond. Une rainbow table n'est que ce devinage fait à l'avance et stocké astucieusement. Rien de tout cela n'inverse la fonction ; cela parcourt l'espace des entrées. C'est précisément pourquoi les mots de passe sont stockés avec des hashs lents et salés (bcrypt, scrypt, Argon2) : pour rendre chaque tentative coûteuse.

Chiffrement, encodage et hachage

Les distracteurs s'appuient sur trois confusions :

  • Le chiffrement est réversible avec une clé (AES, RSA). Si vous pouvez le déchiffrer, c'est qu'il a été chiffré, pas haché.
  • L'encodage comme le Base64 est réversible sans clé — c'est un changement de représentation, pas de la sécurité. Décoder du Base64 ne restaure jamais une entrée hachée.
  • Le hachage est à sens unique et sans clé.

La réponse « appliquer la fonction de ronde inverse » est aussi fausse : la fonction de compression de SHA-256 n'est pas inversible de façon à récupérer le message, et connaître la taille de bloc ne sert à rien.

La bonne réponse en entretien

Dites clairement qu'on ne peut pas déchiffrer un hash parce qu'il n'a ni inverse ni clé ; le seul chemin est de deviner et comparer. Ajoutez ensuite l'implication sécurité : comme deviner est la seule attaque, les défenseurs rendent le devinage lent et unique par enregistrement grâce à des hashs salés adaptatifs.

Questions de suivi probables

  • Quelle est la différence entre chiffrement, encodage et hachage ?
  • Comment les rainbow tables « inversent »-elles un hash si le hachage n'a pas d'inverse ?
  • Pourquoi un sel ralentit-il les attaques qui crackent de nombreux hashs à la fois ?

Sources

Certifications

Recevez 100 questions d'entretien en cybersécurité + réponses

Laissez votre e-mail et nous vous enverrons le pack PDF gratuit et le jeu de flashcards.

Pas de spam. Désabonnez-vous à tout moment.