Comment sont stockés les mots de passe ? Hachage, salage et pourquoi le site ignore le vôtre
✦ Points clés
- Un site sécurisé ne stocke jamais votre mot de passe en clair — il enregistre un « hachage » à sens unique.
- Un hachage est une fonction à sens unique : il transforme le mot de passe en une chaîne de longueur fixe, irréversible.
- Le « salage » ajoute une valeur aléatoire unique par utilisateur, déjouant les tables précalculées (rainbow tables).
- Les algorithmes sûrs actuels sont volontairement lents — bcrypt, Argon2 — pour rendre la force brute difficile.
Une question simple révèle beaucoup : quand vous oubliez votre mot de passe, pourquoi le site envoie-t-il un lien de « réinitialisation » plutôt que votre ancien mot de passe par e-mail ? Parce qu'un site respectable ne connaît pas votre mot de passe. Il ne le stocke pas et ne peut pas le lire. Il ne conserve qu'une « empreinte » mathématique appelée hachage. Cette conception est la dernière ligne de défense protégeant votre compte même si toute la base de données est volée.
Le hachage est une fonction mathématique à sens unique : il prend un texte (votre mot de passe) et produit une chaîne de longueur fixe d'apparence aléatoire. Le mot hello via SHA-256 produit toujours la même longue empreinte. La propriété magique : c'est irréversible. À partir de l'empreinte, impossible de retrouver le mot d'origine. Et le moindre changement en entrée (un caractère) bouleverse toute l'empreinte. À la connexion, le site hache ce que vous tapez et compare à l'empreinte stockée ; si elles concordent, le mot de passe est bon — sans que le site ne voie jamais le mot lui-même.
Générateur de factures & devis
Factures pro calculées et imprimées/PDF en une minute.
Mais le hachage seul ne suffit pas. Le souci : des millions de gens utilisent des mots de passe courants comme 123456, dont le hachage est fixe et connu. Les attaquants ont bâti des tables géantes reliant chaque mot courant à son hachage, les rainbow tables, et comparent instantanément les hachages volés. D'où le salage : le site génère une valeur aléatoire unique par utilisateur (le sel) et la mélange au mot de passe avant hachage. Résultat : deux utilisateurs au même mot de passe obtiennent des hachages totalement différents, et toutes les tables précalculées deviennent inutiles.
Un dernier problème demeure : la vitesse. Des algorithmes comme SHA-256 ont été conçus pour être rapides, ce qui est une bénédiction pour la performance mais un fléau pour les mots de passe — un attaquant peut tester des milliards d'essais par seconde sur une carte graphique. La solution : des fonctions volontairement lentes conçues pour les mots de passe, comme bcrypt, scrypt et Argon2. Elles ajoutent un « facteur de coût » qui fait durer chaque hachage une fraction de seconde — imperceptible pour vous, mais rendant les milliards d'essais très coûteux pour l'attaquant.
Le tableau montre la différence entre les méthodes :
| Méthode | Sûre aujourd'hui ? | Pourquoi |
|---|---|---|
| Texte clair | ❌ Catastrophique | Mot de passe exposé dès la fuite |
| MD5 / SHA-1 | ❌ Faible | Trop rapides et cassés |
| SHA-256 sans sel | ⚠️ Incomplet | Vulnérable aux rainbow tables |
| SHA-256 + sel | 🙂 Mieux | Mais rapide face à la force brute |
| bcrypt / scrypt / Argon2 | ✅ Recommandé | Lents volontairement + sel intégré |
Quel intérêt pour vous ? D'abord, comprenez pourquoi aucun site sérieux ne devrait vous envoyer votre mot de passe actuel par e-mail — si c'est le cas, c'est un signal d'alarme qu'il le stocke en clair. Ensuite, la protection d'un site dépend aussi de la force de votre mot de passe : utilisez un mot long et unique pour chaque compte (et un gestionnaire de mots de passe), et activez la double authentification (2FA). Même le meilleur hachage ne sauvera pas password123.