- Accueil
- Chiffrement
- Bcrypt
Générateur et vérificateur de hash bcrypt
Hachez un mot de passe avec bcrypt et vérifiez s’il correspond à un hash.
Hacher un mot de passe
0 octets sur 72
Chaque cran double le temps. 10–12 est courant pour les connexions. Le hash indique son coût : la vérification ne demande donc aucun réglage.
Saisissez un mot de passe : son hash apparaît ici.
Vérifier un mot de passe avec un hash
$2a$, $2b$ ou $2y$, 60 caractères. Le coût est lu dans le hash.
Saisissez un mot de passe et un hash pour les vérifier.
Bcrypt est un hachage de mots de passe lent : les serveurs stockent le hash bcrypt au lieu du mot de passe et vérifient une connexion en hachant ce qui a été saisi. Chaque hash contient son propre sel aléatoire et son coût : le même mot de passe donne donc un hash différent à chaque fois, et chacun d’eux se vérifie. Utilisez cette page pour créer un hash destiné à un fichier de configuration ou à un compte de test, ou pour savoir si un mot de passe correspond à un hash stocké. Le hachage s’exécute dans votre navigateur : le mot de passe ne quitte jamais votre appareil. C’est gratuit et sans inscription.
Comment générer et vérifier un hash bcrypt
- Saisissez le mot de passe. Le hash apparaît au fil de la frappe, avec le temps de calcul sur votre appareil.
- Déplacez le curseur « Coût » si votre système demande un autre coût (10 par défaut).
- Copiez le hash $2b$, ou cliquez sur « Vérifier ci-dessous » pour le voir se vérifier.
- Pour vérifier un hash existant, collez-le avec le mot de passe sous « Vérifier un mot de passe avec un hash » : vous voyez « Correspond » ou « Ne correspond pas ».
Fonctionnalités
- Hash $2b$ avec un nouveau sel aléatoire de 16 octets à chaque fois
- Coût de 4 à 16 (10 par défaut), avec le temps de calcul sur votre appareil
- Vérifie un mot de passe avec un hash $2a$, $2b$ ou $2y$ : « Correspond » ou « Ne correspond pas », avec la version et le coût
- Compte les octets par rapport à la limite de 72 octets de bcrypt et signale quels caractères sont ignorés
- S’exécute dans un worker en arrière-plan, pour qu’un coût élevé ne bloque jamais la page : « Arrêter », ou « Hacher à nouveau » pour un nouveau sel
- Reconnaît un hash Argon2 et renvoie vers l’outil Argon2
Est-ce confidentiel ?
Oui. Le hachage et la vérification s’exécutent dans votre navigateur avec WebAssembly, dans un worker en arrière-plan ; le mot de passe n’est jamais envoyé ni stocké.
Questions fréquentes
Peut-on déchiffrer un hash bcrypt ?
Non. Bcrypt est un hachage à sens unique : aucune clé ne permet de revenir au mot de passe. Le seul moyen de trouver un mot de passe est d’essayer des candidats et de hacher chacun d’eux, ce que bcrypt rend volontairement lent. Pour tester un mot de passe que vous pensez correct, utilisez « Vérifier un mot de passe avec un hash ».
Pourquoi le hash change-t-il à chaque fois pour le même mot de passe ?
Chaque hash reçoit un nouveau sel aléatoire de 16 octets, stocké dans la chaîne du hash elle-même. La vérification relit le sel depuis le hash : chacun de ces hash se vérifie donc avec le même mot de passe.
Quel coût choisir ?
Chaque cran double le travail. Un coût de 10 à 12 est courant pour les connexions ; choisissez le plus élevé que votre serveur peut se permettre à chaque connexion, souvent entre un quart et une demi-seconde environ. Le temps affiché ici est celui de votre propre appareil.
Pourquoi bcrypt ignore-t-il une partie d’un long mot de passe ?
Bcrypt ne lit que les 72 premiers octets d’un mot de passe, en UTF-8. Des caractères comme ceux du coréen prennent 3 octets chacun : 24 d’entre eux remplissent déjà la limite. L’outil vous prévient quand des caractères sont ignorés ; pour des phrases de passe plus longues, Argon2 n’a pas cette limite.
Quelle différence entre $2a$, $2b$ et $2y$ ?
Les lettres marquent des corrections d’anciens bugs dans certaines implémentations ; pour des mots de passe ordinaires, elles donnent le même résultat. Cet outil écrit $2b$, le préfixe actuel d’OpenBSD, et vérifie les trois. Les hash créés ici ont été vérifiés avec la bibliothèque bcrypt de Python et avec crypt() sous Linux.