Générateur bcrypt - Créer des hachages de mot de passe en ligne
Bcrypt Generator
Hashing runs locally in your browser. Your password is never uploaded or stored.
Ce Qui Est
Un hachage de mot de passe est une fonction à sens unique qui transforme un mot de passe en une chaîne de longueur fixe telle que le mot de passe d'origine ne peut pas en être récupéré, mais où le même mot de passe peut être vérifié plus tard en le hachant à nouveau puis en comparant. bcrypt est l'algorithme précis qu'implémente cet outil, conçu par Niels Provos et David Mazieres et publié en 1999 comme schéma de hachage de mots de passe pour OpenBSD. Il appartient à la famille des fonctions de dérivation de clé adaptatives, volontairement coûteuses, et il repose sur le chiffrement par blocs Blowfish.
En pratique, bcrypt génère un sel aléatoire de 128 bits, le mélange au mot de passe, puis exécute le coûteux ordonnancement de clé EksBlowfish un nombre adjustable de fois, ce nombre étant le logarithme base 2 du coût de travail. Comme ce sel est intégré à la sortie, deux hachages bcrypt du même mot de passe sont deux chaînes différentes, ce qui empêche un attaquant de repérer les comptes qui partagent un mot de passe. La sortie utilise le format crypt modulaire : un préfixe de version, puis le coût, puis un encodage base64 du sel sur 22 caractères, puis un encodage du hachage obtenu sur 31 caractères, le tout séparé par des signes dollar.
Deux conséquences comptent en pratique. Premièrement, bcrypt ignore silencieusement ce qui dépasse 72 octets : tout mot de passe plus long devrait donc être préhaché avant l'application de bcrypt, faute de quoi deux mots de passe longs partageant un même préfixe seraient interchangeables. Deuxièmement, l'algorithme est à sens unique par conception : la vérification exige le mot de passe en clair, ce qui est précisément la raison pour laquelle bcrypt ne doit jamais servir à rien que vous devez pouvoir relire ensuite, comme la mémorisation d'un numéro de carte.
Comment utiliser
- Ouvrez le générateur bcrypt dans votre navigateur. Le hachage est effectué localement : votre mot de passe n'est jamais envoyé nulle part.
- Saisissez le mot de passe à hacher dans le champ prévu. Préférez une longue phrase de passe, car la longueur apporte bien plus de résistance que la substitution de symboles.
- Choisissez un facteur de travail entre 4 et 15, ou laissez la valeur par défaut recommandée si vous avez un doute. Les coûts plus élevés prennent proportionnellement plus de temps et sont plus difficiles à attaquer.
- Vérifiez la durée affichée à côté du coût pour confirmer qu'elle correspond à votre cible, généralement entre 150 et 400 millisecondes sur du matériel de production.
- Cliquez sur Générer pour produire le hachage, puis copiez la chaîne obtenue, préfixe de version, coût et sel inclus, dans votre magasin de mots de passe.
- Utilisez la section de vérification pour confronter un mot de passe à un hachage existant lors d'un test d'intégration ou d'une migration d'identifiants stockés.
- Stockez la chaîne de hachage complète et non sa seule fin, car bcrypt exige la présence du préfixe de version, du coût et du sel pour pouvoir vérifier plus tard.
Exemples
Entrée: Mot de passe : correct-horse-battery-staple, coût 10
Processus:
Sel aléatoire de 128 bits, 2^10 tours EksBlowfish, encodage base64Résultat: Hachage de 60 caractères commençant par $2b$10$ — la vérification exige le même mot de passe en clair
Entrée: Le même mot de passe haché deux fois au même coût
Processus:
Un sel aléatoire neuf est généré à chaque appelRésultat: Deux chaînes de hachage totalement différentes pour une entrée identique
Entrée: Comparaison des coûts sur du matériel serveur typique
Processus:
Le coût 10 exécute 2^10 tours, le coût 12 exécute 2^12, le coût 14 exécute 2^14Résultat: Chaque palier multiplie le travail par environ quatre : le coût 14 demande à peu près 16 fois le temps du coût 10
Recherches Connexes
Les gens recherchent aussi : générateur bcrypt, hachage bcrypt, générateur de hachage de mot de passe, facteur de coût bcrypt, sel bcrypt, hacher un mot de passe.
générateur bcrypthachage bcryptgénérateur de hachage de mot de passefacteur de coût bcryptsel bcrypthacher un mot de passevérifier un hachage bcryptbcrypt vs sha256tours bcryptgénérer un hachage saléhachage de mot de passe sécuriséoutil de hachage de mot de passebcrypt en lignealternative à argon2facteur de travail bcryptbcrypt nodebcrypt pythonhachage à sens uniquecoût bcrypt 12hachage hors ligne
Questions Fréquemment Posées
Quel facteur de coût faut-il utiliser pour bcrypt ?
Pour la plupart des systèmes de production, un facteur de travail de 12 constitue une valeur par défaut raisonnable, soit environ 250 à 400 millisecondes par hachage sur du matériel serveur classique, tandis que le coût 10 est désormais souvent trop rapide pour résister à un attaquant équipé de GPU modernes. La propriété essentielle est de choisir une valeur qui rende votre propre parcours de connexion ordinaire : le hachage se produit pendant l'authentification et toute lenteur perceptible devient un problème d'ergonomie qui pousse vers des raccourcis de réauthentification. Si vos serveurs sont particulièrement puissants, mesurez au coût 12 puis montez à 13 ou 14 jusqu'à ce qu'un hachage prenne quelques centaines de millisecondes. Ne reprenez jamais le coût d'un autre projet, car cette valeur n'a de sens que par rapport au matériel qui exécute le travail : traitez tout coût stocké comme une valeur à remesurer et à augmenter au fil des progrès matériels.
Pourquoi deux hachages du même mot de passe sont-ils différents ?
Parce que bcrypt génère un sel aléatoire de 128 bits entièrement nouveau pour chaque hachage. Ce sel n'est pas un secret : il est simplement consigné dans la sortie afin que l'étape de vérification puisse reproduire le calcul initial. Mais son caractère aléatoire garantit que des mots de passe identiques produisent des chaînes de hachage sans lien entre elles d'un compte à l'autre. Cela met en échec une grande famille d'attaques par précalcul, notamment les tables arc-en-ciel, où l'attaquant hache une fois pour toutes les mots de passe probables puis consulte une table de correspondance. Cela empêche aussi une fuite plus subtile : un attaquant qui obtient votre table d'utilisateurs ne peut plus repérer d'un coup d'œil quels comptes partagent un mot de passe en comparant les chaînes. La conséquence pratique est que vous ne pouvez pas détecter un mot de passe réutilisé en comparant des hachages bcrypt stockés : il faut vérifier des mots de passe candidats, et c'est précisément pourquoi la détection de réutilisation exige d'essayer volontairement un mot de passe sur d'autres comptes.
Quel est le meilleur entre bcrypt et SHA-256 pour stocker des mots de passe ?
Utilisez bcrypt, et la raison tient au facteur de coût bien plus qu'à une quelconque subtilité mathématique. Une passe de SHA-256 est conçue pour être extrêmement rapide, et c'est exactement ce que vous ne voulez pas pour du stockage de mots de passe, car un GPU peut en calculer des milliards par seconde et un attaquant qui teste une table de hachages volée obtient un nombre considérablement élevé d'essais gratuits. bcrypt est intentionnellement lent et son coût par hachage est réglable : vous pouvez l'augmenter au fil du temps à mesure que le matériel progresse sans changer le format stocké. Argon2id est désormais souvent préféré lorsqu'il est disponible et constitue généralement la recommandation la plus solide pour les systèmes neufs, bcrypt restant parfaitement acceptable et bien plus largement pris en charge. Ce que vous ne devez jamais faire, c'est stocker des mots de passe en SHA-256 brut, ou sous forme de hachage sans sel, quel que soit l'algorithme retenu.
Un hachage bcrypt peut-il être inversé pour retrouver le mot de passe d'origine ?
Non, et c'est là toute l'intérêt d'avoir choisi un hachage plutôt qu'un chiffrement. bcrypt est une fonction à sens unique : il n'existe aucune clé, aucun réglage et aucun outil payant qui transforme un hachage en mot de passe. La seule manière pratique de récupérer un mot de passe à partir d'un hachage bcrypt consiste à deviner des mots de passe candidats, à hacher chacun avec le même coût et le même sel, puis à comparer, ce qui est précisément l'attaque que bcrypt est conçu pour rendre lente. Cela explique aussi une contrainte qui surprend : vous ne pouvez pas utiliser bcrypt pour ce que vous devez relire plus tard, comme un numéro de carte stocké, une clé de chiffrement client ou une récupération de mot de passe réversible, car le système serait incapable de retrouver la valeur d'origine. Ces cas exigent un véritable chiffrement avec une clé gérée, non un hachage à sens unique.
Que se passe-t-il si j'oublie le coût et le sel au moment de stocker un hachage ?
Le hachage ne pourra jamais être vérifié et le compte deviendra irrécupérable, car bcrypt a besoin des quatre parties de la chaîne pour reproduire le calcul. Un hachage bcrypt complet est le préfixe de version, le coût, le sel et le hachage obtenu, reliés par des signes dollar, et il fait toujours 60 caractères de long. Des bibliothèques telles que bcryptjs et le paquet bcrypt de Python renvoient cette chaîne entière depuis un seul appel de génération : votre colonne en base de données doit donc stocker la valeur complète plutôt qu'une portion tronquée. Stocker uniquement le dernier segment, ou seulement la partie située après le sel, casse silencieusement la connexion de tous les utilisateurs, et aucun débogage du mot de passe lui-même n'y remédie. Un contrôle de longueur à 60 caractères constitue un bon test de cohérence pour toute colonne censée contenir des hachages bcrypt.
bcrypt impose-t-il une longueur maximale de mot de passe ?
bcrypt ne considère que les 72 premiers octets du mot de passe et ignore tout ce qui suit, artefact historique de son ordonnancement de clé Blowfish plutôt que limite de sécurité délibérée. La conséquence pratique est que deux mots de passe dépassant 72 octets et partageant un même préfixe s'authentifieront l'un comme l'autre : une phrase de passe de 100 caractères dont les 72 premiers octets correspondent à une autre serait traitée comme le même mot de passe. Le risque est réel avec les longues phrases de passe, qui sont exactement le type de mot de passe à encourager, et des valeurs longues telles que des phrases complètes dépassent volontiers la limite. Le remède standard consiste à préhacher le mot de passe avec SHA-256 puis base64, et à transmettre ce résultat de longueur fixe à bcrypt. Si votre bibliothèque le fait automatiquement, préférez cette implémentation ; sinon, vérifiez le comportement avant de compter sur de très longues phrases de passe.