Skip to content

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é.

Sans pistage Fonctionne dans le navigateur Gratuit
100 % dans votre navigateur — votre mot de passe ne quitte jamais votre appareil.
Hachage bcrypt
Anatomie du hachage
Version
Coût
Sel
Empreinte

Suit le comportement de référence de bcrypt avec une sortie recoupée avec Node bcrypt, Python bcrypt et Apache htpasswd — Équipe Sécurité Go Tools · 12 juin 2026

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. 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. 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. 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.

✗ Incorrect
bcrypt.decrypt(hash)  // no such operation
✓ Correct
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.

✗ Incorrect
cost: 4  // far too fast, weak against brute force
✓ Correct
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.

✗ Incorrect
hash(pw) === storedHash  // fails — different salts
✓ Correct
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 ?
Avec celui-ci, oui — car rien de ce que vous saisissez ne quitte votre navigateur. Le mot de passe, le hachage généré et la vérification s'exécutent tous localement en JavaScript sur votre propre appareil. Il n'y a aucune requête réseau, aucune journalisation et aucun stockage : vous pouvez le confirmer en ouvrant les outils de développement de votre navigateur (F12 → onglet Réseau) pendant que vous générez un hachage et en constatant qu'il n'y a aucune requête sortante, ou en vous déconnectant d'Internet et en voyant l'outil continuer à fonctionner. C'est tout le contraire d'un générateur douteux qui envoie votre mot de passe à un serveur par requête POST. Par habitude, préférez tout de même un mot de passe de test jetable plutôt qu'un vrai mot de passe de production lorsque vous ne faites qu'expérimenter.
Comment générer un hachage bcrypt en ligne ?
Ouvrez l'onglet Générer, saisissez un mot de passe (ou cliquez sur Mot de passe aléatoire pour en créer un robuste), choisissez un facteur de coût — 12 est la valeur par défaut moderne — et sélectionnez un préfixe de version : $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é ?
Non. bcrypt est une fonction de hachage de mot de passe à sens unique, pas un chiffrement : il n'y a donc ni clé ni opération de déchiffrement qui transforme un hachage en mot de passe d'origine. La seule façon de retrouver le mot de passe à partir d'un hachage est de deviner des candidats et de hacher chacun d'eux jusqu'à obtenir une correspondance — ce qui est précisément ce que le facteur de coût ajustable de bcrypt est conçu pour rendre lent et coûteux. C'est pourquoi vous vérifiez un mot de passe par rapport à un hachage plutôt que de le déchiffrer : l'outil re-hache votre candidat avec le sel et le coût stockés dans le hachage et contrôle si le résultat est identique.
Quel facteur de coût (facteur de travail) devrais-je utiliser ?
Le coût 12 est la valeur par défaut moderne et un compromis judicieux entre sécurité et rapidité. Le coût est un facteur de travail logarithmique : chaque incrément double le nombre de tours internes, de sorte que le coût 13 prend environ deux fois plus de temps à calculer et à vérifier que le coût 12, et le coût 11 deux fois moins. Des coûts plus élevés ralentissent les attaquants qui forcent des hachages divulgués, mais ils ajoutent aussi de la latence à chaque connexion légitime : ne le montez donc pas au-delà du point où l'authentification devient lente sur votre matériel réel. Le coût 10 est acceptable pour des points d'accès à faible risque ; 12 à 14 convient à tout ce qui est sensible. La plage valide va de 4 à 31, et cet outil vous permet de choisir de 4 à 15.
Quelle est la différence entre $2a$, $2b$ et $2y$ ?
Ce sont des préfixes de version pour le même algorithme bcrypt, et les différences remontent à des corrections de bugs historiques dans la façon dont certaines implémentations géraient la longueur des chaînes et les caractères à bit de poids fort. $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 ?
Passez à l'onglet Vérifier, collez le hachage bcrypt stocké (la chaîne complète $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 ?
Les trois sont des fonctions de hachage de mot de passe délibérément lentes et salées, et toutes sont bien meilleures qu'un simple SHA-256 pour stocker des mots de passe. bcrypt est le plus largement pris en charge et le plus éprouvé, avec un coût ajustable simple ; ses principales limites sont un plafond de mot de passe de 72 octets et le fait qu'il soit uniquement lié au CPU. scrypt ajoute une dureté mémoire, rendant les attaques GPU/ASIC à grande échelle plus coûteuses. Argon2 (plus précisément Argon2id) est la recommandation actuelle de la Password Hashing Competition et de l'OWASP, ajustant indépendamment le temps, la mémoire et le parallélisme. Si vous choisissez à neuf aujourd'hui, Argon2id est la valeur par défaut la plus solide ; bcrypt reste un excellent choix, sûr — surtout là où le support des bibliothèques ou l'interopérabilité comptent. Nous détaillons les compromis dans bcrypt vs Argon2 vs scrypt.
Pourquoi le hachage bcrypt est-il différent à chaque fois ?
Parce que bcrypt génère un nouveau sel aléatoire pour chaque hachage, et le sel est intégré avant le hachage. Le même mot de passe produit donc une chaîne de 60 caractères complètement différente à chaque clic sur Générer — et c'est tout l'intérêt : cela empêche les attaquants de précalculer des tables arc-en-ciel ou de repérer que deux utilisateurs partagent un mot de passe. Le sel n'est pas secret ; il est stocké à l'intérieur même du hachage (les 22 caractères après le coût), si bien que la vérification peut le relire. Si vous régénérez le hachage, vous obtenez simplement un autre hachage valide pour le même mot de passe, et chacun d'eux se vérifiera avec succès.

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.