Générateur Bcrypt
Générez un hash bcrypt à partir d'un mot de passe ou vérifiez qu'un mot de passe correspond à un hash. Facteur de coût ajustable. Tout est calculé dans le navigateur.
Soutenez le projet
J’ai choisi de limiter les publicités pour garder l’expérience simple et agréable. Si cet outil vous a été utile, vous pouvez m’aider à le faire vivre — chaque geste compte pour un développeur solo.
Description
Le générateur Bcrypt permet de créer un hash bcrypt à partir d’un mot de passe ou de vérifier qu’un mot de passe correspond à un hash bcrypt existant. Tout est effectué dans votre navigateur : aucun mot de passe n’est envoyé sur un serveur. Bcrypt est conçu spécifiquement pour le hachage de mots de passe : il intègre un sel aléatoire (chaque hash est unique), un facteur de coût ajustable (ralentit les attaques par force brute) et une sortie au format standard $2b$12$.... Vous pouvez choisir le facteur de coût (4 à 15, recommandé 12) et utiliser le mode vérification pour comparer un mot de passe à un hash stocké.
Comment faire
- Choisissez le mode Générer un hash ou Vérifier un mot de passe.
- En mode Générer un hash : saisissez le mot de passe (le champ est masqué par défaut ; utilisez l’icône œil pour afficher), ajustez le facteur de coût si besoin (recommandé : 12), puis cliquez sur « Générer le hash bcrypt ». Le hash s’affiche ; vous pouvez le copier.
- En mode Vérifier un mot de passe : saisissez le mot de passe et collez le hash bcrypt à vérifier dans la zone prévue, puis cliquez sur « Vérifier le mot de passe ». Le résultat indique si le mot de passe correspond ou non au hash.
- Consultez le bloc résultat et, en bas de page, les notes sur bcrypt (sel, facteur de coût, résistance aux attaques).
Exemples
- Mot de passe « monMotDePasse123 » avec facteur 10 : un hash de la forme
$2a$10$...ou$2b$10$...(le début peut varier selon la version ; le hash change à chaque génération à cause du sel). - Vérification : si vous avez généré un hash pour « secret », en mode vérification avec le même mot de passe et ce hash, le résultat sera « Le mot de passe correspond au hash ».
- Un mot de passe de plus de 72 octets (UTF-8) n’est pas accepté : l’outil affiche une erreur et rappelle la limite bcrypt.
Cas d’usage
- Stockage de mots de passe : générer un hash bcrypt pour enregistrer en base de données ; ne jamais stocker les mots de passe en clair.
- Vérification à la connexion : comparer le mot de passe saisi avec le hash stocké via le mode vérification.
- Migration ou tests : produire des hash de test ou vérifier qu’un hash correspond à un mot de passe connu.
- Prototypes et démos : obtenir rapidement un hash bcrypt sans installer d’outil en ligne de commande.
Limites
- Bcrypt ne prend en compte que les 72 premiers octets du mot de passe (en UTF-8). Au-delà, l’outil refuse le calcul et affiche une erreur.
- Le facteur de coût est limité à 15 dans l’interface pour éviter un blocage prolongé du navigateur (coût 14 ou 15 peut prendre plusieurs secondes).
- L’outil est conçu pour le hachage de mots de passe, pas pour hasher des fichiers ou de gros volumes de données.
Bonnes pratiques
- Utilisez un facteur de coût 12 (ou 10 minimum) pour les systèmes actuels ; augmenter le coût renforce la sécurité mais ralentit le hachage.
- Ne réutilisez jamais le même hash pour deux mots de passe différents : bcrypt génère un nouveau sel à chaque fois.
- Pour la vérification, comparez toujours le mot de passe en clair avec le hash stocké via une fonction de comparaison (comme dans cet outil), jamais en re-hashant et en comparant les chaînes.
- Ne pas utiliser SHA-256 seul pour les mots de passe : privilégier bcrypt, Argon2 ou scrypt.
Sécurité et confidentialité
- Aucune donnée envoyée : le hachage et la vérification sont effectués entièrement dans votre navigateur ; vos mots de passe ne quittent pas votre appareil.
- Bcrypt est adapté aux mots de passe : sel intégré, facteur de coût, résistance aux attaques par dictionnaire et force brute (dans des limites raisonnables).
- En production, utilisez des bibliothèques éprouvées côté serveur (bcrypt, bcryptjs, ou équivalents) et des facteurs de coût adaptés à votre matériel.
Alternatives et variantes
- Argon2 : algorithme recommandé pour les mots de passe (PHC) ; plus récent et configurable (mémoire, itérations).
- scrypt : autre fonction de dérivation à coût configurable, utilisée dans de nombreux systèmes.
- PBKDF2 : standard ancien, souvent avec HMAC-SHA256 ; moins adapté que bcrypt ou Argon2 pour les mots de passe seuls.
FAQ
Le mot de passe est-il envoyé sur un serveur ?
Non. Tout le calcul (hachage et vérification) est effectué dans votre navigateur. Aucun mot de passe ni hash n’est transmis à un serveur.
Pourquoi le même mot de passe donne-t-il un hash différent à chaque fois ?
Bcrypt inclut un sel aléatoire dans chaque hash. Ce sel est généré à chaque hachage, ce qui rend chaque hash unique et protège contre les attaques par tables précalculées (rainbow tables).
Quel facteur de coût choisir ?
Un facteur 12 est recommandé pour les systèmes modernes (environ 300 ms de calcul sur un ordinateur récent). 10 est un minimum acceptable ; au-delà de 14, le temps de calcul peut devenir gênant dans un navigateur.
Que signifie l’erreur « 72 octets » ?
Bcrypt ne traite que les 72 premiers octets du mot de passe (en encodage UTF-8). Si votre mot de passe dépasse cette taille (par exemple une longue phrase), l’outil refuse de hasher et affiche cette limite. Réduisez la longueur ou utilisez uniquement les 72 premiers octets en connaissance de cause.
Peut-on utiliser bcrypt pour hasher des fichiers ?
Bcrypt est conçu pour les mots de passe (entrées courtes, avec sel et coût). Pour des fichiers ou de gros volumes, utilisez des algorithmes d’empreinte (SHA-256, BLAKE2, etc.) ou des fonctions de dérivation adaptées (Argon2, scrypt avec des paramètres adaptés).
Quelle est la différence entre $2a$, $2b$ et $2y$ ?
Ce sont des variantes du format bcrypt : $2a$ (PHP), $2b$ (plus récent, corrige des bugs), $2y$ (certains systèmes). En pratique, les implémentations modernes utilisent $2b$ ; l’outil accepte et produit des hash compatibles avec ce format.
Une suggestion ou une demande d'outil ?
Vous avez repéré une erreur, vous souhaitez un nouvel outil ou vous avez un retour à partager ? Contactez-moi par email, je serais ravi d'échanger avec vous.