Générateur de hachage bcrypt
Générer le hash
Plus élevé = plus lent et plus sécurisé. 12 est un bon défaut.
De temps en temps, vous avez un hachage bcrypt d’une ancienne sauvegarde et un mot de passe en clair, et vous devez savoir s’ils correspondent. Ou vous avez un mot de passe et souhaitez le hachage qu’un facteur de coût donné produirait. Cet outil fait les deux : tapez un mot de passe et il génère un nouveau hachage, collez un hachage et un candidat et il vous dit si la vérification réussit — en utilisant la même comparaison en temps constant qu’une vérification de connexion en production.
Générer ou vérifier bcrypt
-
1
Choisissez un mode
Générez un nouveau hachage à partir d'un mot de passe, ou vérifiez un mot de passe par rapport à un hachage `$2a$` / `$2b$` / `$2y$` existant.
-
2
Pour générer : entrez le texte en clair et le coût
Coût 4-14 ; 10-12 est normal. Un sel aléatoire de 16 octets est créé pour chaque hachage.
-
3
Pour vérifier : collez le hachage et le texte en clair
L'outil extrait le sel et le coût du hachage et re-hache le texte en clair avec les mêmes paramètres.
-
4
Lisez le résultat
Le mode de génération copie le hachage de 60 caractères ; le mode de vérification renvoie une correspondance verte ou une non-correspondance rouge.
Fonctionnement interne du mode vérification
Étant donné un hachage stocké comme :
$2b$12$mE2n5YqWjKqT9tXg.OQPoeeHZJ9hdSvOt5wFdRRQwl6yE1vWWY3z6
Le vérificateur :
- Analyse la version (
2b), le coût (12), le sel (les 22 premiers caractères après le coût) et le digest (les 31 derniers caractères). - Relance bcrypt sur le texte en clair candidat avec le sel et le coût extraits.
- Compare le digest résultant à l’original en utilisant une comparaison en temps constant.
Une comparaison réussie donne true ; toute différence donne false.
Comparaison en temps constant
Comparer deux chaînes avec un == naïf renvoie dès qu’un octet diffère — un canal latéral de timing qui peut révéler le hachage chiffre par chiffre sur suffisamment d’échantillons. Les vérifications de mot de passe en production (et cet outil) utilisent une comparaison en temps constant qui examine toujours chaque octet, de sorte que le temps de décision ne dépend pas du nombre d’octets de tête qui correspondent.
Cas de diagnostic courants
| Symptôme | Cause probable |
|---|---|
| La vérification échoue, vous êtes sûr du mot de passe | Espaces blancs ou BOM en fin d’entrée. Supprimez les deux. |
La vérification échoue, version 2y |
Certaines bibliothèques n’aiment pas 2y ; c’est valide et compatible. Re-hachez avec 2b à l’avenir. |
| Hachage trop court / mal formé | Ce n’est pas un hachage bcrypt. MD5 fait 32 caractères hexadécimaux, SHA-1 fait 40, bcrypt fait 60 avec des délimiteurs $. |
| Avertissement de non-correspondance de coût | Le coût stocké est en dessous de votre minimum de politique. Re-hachez lors de la prochaine connexion réussie. |
Re-hachage à la connexion
Meilleure pratique : lorsque qu’un utilisateur se connecte avec succès, vérifiez si le hachage stocké a un coût inférieur à votre politique actuelle. Si c’est le cas, re-hachez le mot de passe au nouveau coût et mettez à jour la base de données. En quelques mois, vous mettez à niveau l’ensemble de la base d’utilisateurs sans demander à quiconque de changer son mot de passe.
Ce que l’outil ne fait pas
- Vérification en masse — Conçu pour un hachage à la fois.
- Craquer ou brute force — Les attaques par dictionnaire ou par tables arc-en-ciel sont intentionnellement hors de portée.
- Récupérer le texte en clair — bcrypt est unidirectionnel ; si vous avez oublié le mot de passe, le seul chemin est de réinitialiser.
Questions fréquentes
Non. Le hachage et la vérification se font dans votre navigateur. Ni le texte en clair ni le hachage ne quittent la page.
Le sel est généré aléatoirement par hachage. C’est tout l’intérêt — deux utilisateurs avec le même mot de passe obtiennent des hachages différents, contrecarrant les tables arc-en-ciel.
Oui, c’est exactement ce que fait le mode vérification : collez le hachage que vous avez, collez un mot de passe candidat, l’outil confirme ou infirme la correspondance.
Oui. Tous les variants modernes interopèrent — le digest est compatible entre les versions ; seul le tag diffère. Certains anciens hachages $2$ des systèmes des années 2000 peuvent nécessiter une bibliothèque avec un support explicite pour l’héritage.
Outils similaires
Encodeur de chiffre A1Z26
Encodez du texte en utilisant le chiffre A1Z26 (A=1, B=2, ... Z=26) ou décodez une séquence de nombres en lettres, avec un séparateur personnalisable.
Chiffrement / Déchiffrement AES
Chiffrez et déchiffrez du texte peu sensible avec des chiffrements AES OpenSSL. La phrase de passe est hachée en SHA-256 et la sortie Base64 contient IV plus texte chiffré.
Encodeur de chiffre Atbash
Encodez ou décodez du texte avec le chiffre Atbash, une substitution hébraïque qui associe A-Z à Z-A. La même opération chiffre et déchiffre.
Générateur bcrypt
Générez un hachage bcrypt à partir d'un mot de passe en clair. Facteur de coût ajustable de 4 à 14, compatible avec Laravel, Django, Node et PHP.
Encodeur et décodeur Base32
Encodez et décodez des chaînes Base32 en utilisant l'alphabet RFC 4648. Utile pour les secrets TOTP, les jetons insensibles à la casse et les identifiants saisis par des humains.
Encodeur et décodeur Base85
Encodez et décodez Base85 dans les variantes Adobe Ascii85 (PostScript/PDF) ou Z85 (ZeroMQ). Plus compact que Base64 pour les données binaires.