En détail
bcrypt hache un mot de passe avec un sel aléatoire et répète une coûteuse étape de configuration de clé 2 puissance le facteur de coût fois. Un hachage ressemble à $2b$12$ suivi d'un sel de 22 caractères et du hachage, 60 caractères en tout ; le 12 est le coût, soit 4 096 tours. Augmenter le coût d'une unité double le travail, ce qui permet aux défenseurs de suivre le matériel plus rapide. L'algorithme ne lit que les 72 premiers octets d'un mot de passe.
Pourquoi c'est important
Les fonctions de hachage généralistes comme SHA-256 sont conçues pour être rapides, ce qui aide les attaquants qui testent des milliards d'essais par seconde contre une base volée. La lenteur de bcrypt et son sel intégré rendent chaque essai coûteux et empêchent des mots de passe identiques de produire des hachages identiques. C'est l'un des choix standard pour stocker des mots de passe, avec des fonctions plus récentes comme scrypt et Argon2.
Exemple
Créez et vérifiez des hachages bcrypt avec le générateur Bcrypt. Hacher deux fois le même mot de passe produit deux chaînes différentes, car chacune a son propre sel, et pourtant les deux se vérifient correctement.
Confusion fréquente
bcrypt est une fonction de hachage de mots de passe, pas une méthode de chiffrement : elle ne peut pas être inversée. Elle ne remplace pas non plus un mot de passe long et unique, car un mot de passe faible se devine vite même avec un coût élevé.