Générateur et vérificateur de hachage Bcrypt
Générez et vérifiez des hachages bcrypt en ligne — coût ajustable, préfixes $2b$/$2a$/$2y$. 100 % dans votre navigateur ; mot de passe jamais envoyé.
Qu'est-ce que Bcrypt ?
Bcrypt est une fonction de hachage de mot de passe conçue spécifiquement pour stocker les mots de passe en toute sécurité. Au lieu de conserver un mot de passe en clair, un serveur stocke un hachage bcrypt à sens unique ; lorsqu'un utilisateur se connecte, le serveur hache le mot de passe soumis de la même manière et vérifie que les deux hachages correspondent. Bcrypt repose sur le chiffrement Blowfish et a été conçu par Niels Provos et David Mazières en 1999, avec une caractéristique délibérée qui le distingue des hachages à usage général comme SHA-256 : il est lent à dessein, et vous pouvez le rendre plus lent au fil du temps grâce à un facteur de coût ajustable à mesure que le matériel s'accélère.
Un hachage bcrypt est une seule chaîne auto-descriptive de 60 caractères — par exemple $2b$12$dUSFKqT1FCMYZ6hcQfsxuONizEqcX8IGK8snfVSowP5Uu.TDJoPUq. Elle réunit quatre parties : la version ($2b$), le coût (12, un facteur de travail logarithmique), un sel Base64 de 22 caractères et l'empreinte Base64 de 31 caractères. Comme le sel est aléatoire et intégré au hachage, le même mot de passe produit un hachage différent à chaque fois — ce qui déjoue les tables arc-en-ciel et masque le fait que deux utilisateurs ont choisi le même mot de passe. La vérification relit le sel et le coût dans le hachage stocké et re-hache le candidat, si bien que bcrypt n'a jamais besoin (et est incapable) d'inverser un hachage pour retrouver le mot de passe.
Cet outil s'exécute entièrement dans votre navigateur à l'aide d'une implémentation bcrypt intégrée — aucun mot de passe ni hachage n'est jamais envoyé. Utilisez-le pour générer un hachage avec un coût et un préfixe choisis, pour vérifier un mot de passe par rapport à un hachage existant, et pour lire l'anatomie d'un hachage. Il s'associe naturellement à d'autres outils de sécurité : protégez un répertoire avec l'authentification HTTP Basic grâce à notre générateur htpasswd (qui peut émettre directement des entrées bcrypt), créez un mot de passe robuste à hacher avec notre générateur de mot de passe aléatoire, et recourez à notre générateur SHA-256 lorsque vous avez besoin d'une somme de contrôle rapide à usage général plutôt que d'un hachage de mot de passe lent. Si vous hésitez sur l'algorithme avec lequel stocker vos mots de passe, comparez les options dans bcrypt vs Argon2 vs scrypt.
// Node.js — bcryptjs / bcrypt (emits $2b$)
const bcrypt = require('bcrypt');
const hash = await bcrypt.hash('correct horse battery staple', 12);
// -> $2b$12$dUSFKqT1FCMYZ6hcQfsxuONizEqcX8IGK8snfVSowP5Uu.TDJoPUq
const ok = await bcrypt.compare('correct horse battery staple', hash); // true
# Python — bcrypt
import bcrypt
hashed = bcrypt.hashpw(b'correct horse battery staple', bcrypt.gensalt(12))
bcrypt.checkpw(b'correct horse battery staple', hashed) # True
# PHP — password_hash (emits $2y$)
$hash = password_hash('correct horse battery staple', PASSWORD_BCRYPT, ['cost' => 12]);
password_verify('correct horse battery staple', $hash); // true
# Apache htpasswd CLI — bcrypt entry to stdout (-B bcrypt, -b inline, -n stdout)
htpasswd -Bbn admin 'correct horse battery staple'
# -> admin:$2y$12$dUSFKqT1FCMYZ6hcQfsxuONizEqcX8IGK8snfVSowP5Uu.TDJoPUq Fonctionnalités clés
Générer des hachages Bcrypt
Produisez un hachage bcrypt standard de 60 caractères à partir de n'importe quel mot de passe avec un nouveau sel aléatoire. Chaque clic donne un hachage valide différent, exactement comme le ferait un véritable magasin de mots de passe.
Facteur de coût ajustable
Ajustez le facteur de travail de 4 à 15 (12 est la valeur par défaut moderne). Ressentez comment chaque palier double à peu près le temps de calcul afin de choisir un coût à la fois robuste et assez rapide pour la connexion.
Choisir le préfixe de version
Émettez $2b$ (la norme bcryptjs actuelle), $2y$ (PHP / htpasswd d'Apache) ou $2a$ (l'original). Tous sont interchangeables pour la vérification entre les bibliothèques.
Vérifier un mot de passe par rapport à un hachage
Collez un hachage stocké et un mot de passe candidat pour confirmer instantanément s'ils correspondent — en re-hachant avec le sel et le coût intégrés, sans jamais déchiffrer. Idéal pour déboguer une connexion qui échoue.
Décomposition de l'anatomie du hachage
Voyez n'importe quel hachage bcrypt scindé en version, coût, sel et empreinte, pour que la structure de la chaîne $2b$12$... soit évidente d'un coup d'œil.
100 % côté client
Tout le hachage et la vérification se font localement dans votre navigateur. Aucun mot de passe ni hachage n'est jamais envoyé à un serveur, vous pouvez donc travailler avec de vrais identifiants en toute confidentialité.
Exemples du générateur Bcrypt
hachage bcrypt (coût 12, $2b$)
mot de passe : correct horse battery staple coût : 12 préfixe : $2b$
$2b$12$dUSFKqT1FCMYZ6hcQfsxuONizEqcX8IGK8snfVSowP5Uu.TDJoPUq
Un hachage bcrypt au coût 12 avec le préfixe $2b$. Le sel est aléatoire, donc le même mot de passe produit un hachage différent à chaque fois — pourtant tous se vérifient avec le mot de passe d'origine.
Vérifier un mot de passe par rapport à un hachage
mot de passe : correct horse battery staple hachage : $2b$12$dUSFKqT1FCMYZ6hcQfsxuONizEqcX8IGK8snfVSowP5Uu.TDJoPUq
✓ Correspondance — le mot de passe est correct pour ce hachage
La vérification ne déchiffre pas le hachage. bcrypt re-hache le mot de passe candidat à l'aide du sel et du coût intégrés au hachage stocké, puis compare le résultat. Une correspondance signifie que le mot de passe est correct.
Décomposition de l'anatomie d'un hachage
$2b$12$dUSFKqT1FCMYZ6hcQfsxuONizEqcX8IGK8snfVSowP5Uu.TDJoPUq
version : $2b$ · coût : 12 · sel : dUSFKqT1FCMYZ6hcQfsxuO · empreinte : NizEqcX8IGK8snfVSowP5Uu.TDJoPUq
Chaque hachage bcrypt est auto-descriptif : une étiquette de version, un coût à deux chiffres, un sel Base64 de 22 caractères et une empreinte Base64 de 31 caractères, le tout dans une seule chaîne de 60 caractères. L'outil les sépare pour que vous puissiez les lire d'un coup d'œil.
Comment utiliser le générateur Bcrypt
- 1
Saisissez un mot de passe et choisissez le coût
Dans l'onglet Générer, saisissez un mot de passe ou cliquez sur Mot de passe aléatoire. Choisissez un facteur de coût (4 à 15 ; 12 est la valeur par défaut moderne) et un préfixe de version — $2b$, $2a$ ou $2y$ — pour correspondre à votre stack.
- 2
Générez le hachage
Le hachage bcrypt est calculé localement avec un nouveau sel aléatoire et apparaît sous la forme d'une seule chaîne $2b$12$... de 60 caractères. Cliquez sur Copier pour le récupérer, ou régénérez pour un nouveau hachage salé.
- 3
Lisez l'anatomie ou vérifiez
Le panneau d'anatomie sépare le hachage en version, coût, sel et empreinte. Passez à l'onglet Vérifier pour coller un hachage stocké et un mot de passe et confirmer instantanément s'ils correspondent.
Common Errors
Tenter de déchiffrer un hachage
Bcrypt est à sens unique ; il n'y a pas de déchiffrement. Pour contrôler un mot de passe, vérifiez-le par rapport au hachage au lieu de tenter d'inverser l'empreinte.
bcrypt.decrypt(hash) // no such operation
bcrypt.compare(password, hash) // returns true / false
Définir un coût trop faible
Un coût faible comme 4 ou 6 hache presque instantanément, ce qui permet aussi aux attaquants de forcer rapidement des hachages divulgués. Utilisez 12 comme référence.
cost: 4 // far too fast, weak against brute force
cost: 12 // modern default, resists brute force
S'attendre au même hachage deux fois
Comme le sel est aléatoire, re-hacher le même mot de passe donne une chaîne différente. Comparez avec la vérification, jamais en contrôlant l'égalité octet par octet de deux hachages.
hash(pw) === storedHash // fails — different salts
bcrypt.compare(pw, storedHash) // correct check
Cas d'usage courants
- Amorcer un hachage de mot de passe dans une base de données
- Générez un hachage bcrypt pour un compte admin ou de test et insérez-le directement dans votre table d'utilisateurs, afin de pouvoir vous connecter sans devoir d'abord câbler un flux d'inscription complet.
- Déboguer une connexion qui échoue
- Vérifiez un mot de passe pourtant correct par rapport au hachage stocké pour confirmer si le hachage lui-même est correct, isolant ainsi le bug de votre code d'authentification.
- Choisir le bon facteur de coût
- Générez à plusieurs niveaux de coût sur votre propre matériel pour ressentir le temps que prend chacun, puis choisissez un facteur de travail qui résiste à la force brute sans ralentir les vraies connexions.
- Créer des entrées htpasswd / Basic Auth
- Produisez un hachage bcrypt $2y$ pour un identifiant Apache, Docker Registry ou Caddy, puis insérez-le dans une ligne utilisateur:hachage pour l'authentification HTTP Basic.
- Construire des fixtures de test
- Créez des hachages bcrypt déterministes par mot de passe pour amorcer des tests d'intégration d'un flux de connexion ou de réinitialisation de mot de passe sans monter un véritable serveur d'authentification.
- Auditer un hachage trouvé
- Lisez l'anatomie d'une chaîne bcrypt dans une configuration ou un dump pour vérifier son facteur de coût, et confrontez-la au mot de passe attendu pour confirmer une correspondance.
Détails techniques
- Basé sur Blowfish, coût adaptatif
- Bcrypt dérive son hachage de la phase coûteuse de configuration de clé du chiffrement Blowfish, répétée 2^coût fois. Augmenter le coût d'une unité double le travail, gardant la fonction lente face à la force brute à mesure que le matériel progresse.
- Sel aléatoire de 128 bits
- Chaque hachage intègre un sel aléatoire de 16 octets (128 bits), encodé en Base64 sur 22 caractères après le coût. Le sel rend chaque hachage unique, de sorte que des mots de passe identiques ne partagent jamais d'empreinte et que les tables arc-en-ciel ne s'appliquent pas.
- Format auto-descriptif de 60 caractères
- La sortie est $version$coût$sel+empreinte — une chaîne fixe de 60 caractères portant tout le nécessaire pour la vérifier. Aucune colonne de sel ni magasin de paramètres séparé n'est requis.
- Limite de 72 octets pour le mot de passe
- Bcrypt ne hache que les 72 premiers octets d'un mot de passe ; tout ce qui dépasse est silencieusement ignoré. Pour des phrases de passe très longues, un pré-hachage (par exemple avec SHA-256) avant bcrypt est une atténuation courante.
- Vérifier, ne pas déchiffrer
- Bcrypt est à sens unique. La vérification ré-exécute le hachage sur le mot de passe candidat à l'aide du sel et du coût analysés depuis le hachage stocké, puis compare les empreintes en temps constant. Aucune opération ne récupère le texte en clair.
- Remarques d'honnêteté et mises en garde
- Les hachages sont calculés localement et ne sont jamais confrontés à un système en production. Les hachages copiés et tout mot de passe saisi restent dans votre presse-papiers et en mémoire du navigateur — traitez-les comme des secrets et videz votre presse-papiers après les avoir collés en production.
Bonnes pratiques
- Utilisez un coût de 12 ou plus
- Le coût 12 est la référence moderne ; montez vers 14 pour les systèmes sensibles tant que la latence de connexion reste acceptable. Réévaluez périodiquement — ce qui était assez lent il y a cinq ans est aujourd'hui peu coûteux à attaquer.
- Ne stockez ni ne journalisez jamais de texte en clair
- Stockez uniquement le hachage bcrypt, jamais le mot de passe d'origine, et tenez les mots de passe à l'écart des journaux et des messages d'erreur. Tout l'intérêt de bcrypt est perdu si le texte en clair fuit à ses côtés.
- Laissez bcrypt gérer le sel
- Bcrypt génère et intègre un sel aléatoire sécurisé pour vous. Ne fournissez pas votre propre sel statique et n'en réutilisez pas — un sel aléatoire par hachage est ce qui déjoue les tables arc-en-ciel.
- Attention à la limite de 72 octets
- Si vous acceptez de longues phrases de passe, rappelez-vous que bcrypt ignore les octets au-delà de 72. Envisagez un pré-hachage avec SHA-256, ou évaluez Argon2id, lorsque de très longues entrées doivent être entièrement couvertes.
FAQ du générateur Bcrypt
Un générateur bcrypt en ligne est-il sûr à utiliser ?
Comment générer un hachage bcrypt en ligne ?
$2b$ pour la plupart des stacks modernes, $2y$ pour PHP et Apache, ou $2a$ pour l'identifiant d'origine. Le hachage bcrypt est calculé instantanément dans votre navigateur avec un nouveau sel aléatoire et apparaît sous la forme d'une seule chaîne $2b$12$... de 60 caractères que vous pouvez copier en un clic. Rien n'est envoyé : le mot de passe et le hachage ne quittent jamais votre appareil. Régénérez à tout moment pour obtenir un autre hachage valide pour le même mot de passe, puisque chacun porte un sel aléatoire différent. Un hachage bcrypt peut-il être déchiffré ou inversé ?
Quel facteur de coût (facteur de travail) devrais-je utiliser ?
Quelle est la différence entre $2a$, $2b$ et $2y$ ?
$2a$ est l'identifiant d'origine largement utilisé ; $2b$ est la version corrigée actuelle qu'émettent la bibliothèque bcryptjs et la plupart des implémentations modernes ; et $2y$ est l'identifiant qu'utilisent PHP et le htpasswd d'Apache. Pour la vérification, ils sont interchangeables — un hachage que vous générez ici avec n'importe quel préfixe se validera correctement entre les bibliothèques, car elles exécutent toutes la même fonction de base. Choisissez le préfixe attendu par votre stack si vous avez besoin d'une compatibilité octet par octet. Comment vérifier un mot de passe par rapport à un hachage bcrypt ?
$2b$12$...) et le mot de passe candidat, et l'outil vous indique instantanément s'ils correspondent. Il fonctionne en extrayant le sel et le coût intégrés au hachage, en re-hachant le mot de passe candidat avec ces paramètres exacts, puis en comparant la nouvelle empreinte à celle stockée — sans aucun déchiffrement. C'est ainsi qu'un système de connexion contrôle un mot de passe : il ne récupère jamais le texte en clair, il confirme seulement que le re-hachage du mot de passe soumis reproduit le hachage stocké. bcrypt vs Argon2 vs scrypt — lequel utiliser ?
Pourquoi le hachage bcrypt est-il différent à chaque fois ?
Outils connexes
Voir tous les outils →Décodeur JWT
Outils de sécurité
Décodez des jetons JWT en ligne avec notre décodeur JWT gratuit. Inspectez en-tête, charge utile, signature, expiration et revendications. 100 % navigateur — votre jeton ne quitte jamais votre appareil. Sans inscription ni suivi.
Encodeur & Générateur JWT
Outils de sécurité
Générateur & encodeur JWT gratuit en ligne. Construisez l'en-tête et la charge utile, signez avec HS256, RS256 ou ES256 instantanément. 100 % navigateur — votre secret et votre clé ne quittent jamais votre appareil.
Générateur de Hash MD5 en Ligne et Vérificateur de Checksum
Outils de sécurité
Générez des hashes MD5, SHA-256, SHA-1 et SHA-512 dans votre navigateur. Hachez texte ou fichiers, vérifiez les checksums en un clic. 100 % privé.
Générateur de Mot de Passe — Sécurisé & Personnalisable
Outils de sécurité
Générez des mots de passe forts et sécurisés — gratuit, 100 % dans votre navigateur. Personnalisez longueur et caractères, générez jusqu'à 50.
Générateur SHA-1 (160 bits, usage hérité)
Outils de sécurité
Générez des hashes SHA-1 dans votre navigateur — sortie hex de 40 caractères, sans envoi. Outil hérité pour les empreintes Git, contrôles de certificats anciens et audits de migration. Données jamais transmises.
Générateur de Hash SHA-256 & Outil Checksum
Outils de sécurité
Générez des hashes SHA-256 en ligne gratuitement. Hachez texte ou fichiers dans votre navigateur, vérifiez les checksums, copiez la sortie hex de 64 caractères. Sans inscription ; données jamais transmises.