Plus élevé = plus lent + plus sécurisé. Le coût 12 prend environ 4ms sur un ordinateur portable type ; 10-12 est la plage courante en production.
S'exécute à 100 % dans votre navigateur - le mot de passe et le hash ne quittent jamais votre appareil.
I am storing user passwords for a web app with at most 10 000 users. Compare bcrypt (cost 12), scrypt, and Argon2id for this workload: resistance to GPU cracking, memory requirements, DoS risk on the login endpoint, and the parameters you would actually deploy. Give a concrete recommendation and the exact parameter values.
Ce que ça fait
Bcrypt
HashHashA one-way function that maps data of any size to a fixed-length digest. Same input, same digest; any change, different digest; not reversible.
& Verify hache un mot de passe avec bcrypt - l’algorithme conçu spécifiquement pour stocker des mots de passe - et vérifie un mot de passe contre un hachage bcrypt existant. Le hachage dérive un sel aléatoire frais de 16 octets et exécute le calendrier de clés EksBlowfish2^cost fois, donc vous contrôlez exactement le coût de chaque essai. La vérification recalcule le condensat avec le sel et le coût portés par le hachage lui-même, et vous dit s’il y a correspondance. L’outil accepte les hachages $2a$, $2b$ et $2y$, donc il fonctionne avec ceux produits par Node, Go, Python, PHP, Java, le pgcrypto de PostgreSQL et toute implémentation dérivée d’OpenBSD.
Tout s’exécute dans votre navigateur, depuis une implémentation Blowfish écrite from scratch (aucune bibliothèque crypto externe). Le mot de passe que vous tapez et le hachage que vous collez ne quittent jamais votre appareil.
Comment l’utiliser
- Choisissez un mode avec la bascule Hacher / Vérifier en haut.
- Hacher : tapez le mot de passe (le bouton œil le révèle), tirez le curseur facteur de coût (4-16, défaut 12) - plus haut signifie plus lent et plus sûr - puis pressez Hacher le mot de passe. Le hachage
$2b$apparaît avec un bouton copier et un badge montrant le temps pris. - Vérifier : collez le hachage bcrypt et tapez le mot de passe à contrôler. L’outil décode le hachage en direct et affiche sa version, son coût et son sel. Pressez Vérifier le mot de passe pour un badge vert Match ✓ ou rouge No match ✗.
- Utilisez Exemple dans les deux modes pour charger des entrées d’exemple (l’exemple de vérification est une vraie paire correspondante).
Exemples
Hacher un mot de passe au coût 12
Mot de passe : correct horse battery staple → pressez Hacher le mot de passe. La sortie ressemble à :
$2b$12$9IZSN8TXXnSIx4aI0Cd2DetqQ/3FT9d6KJ9fl96SnULIK5x5q/moq
Chaque exécution produit un hachage différent - le sel est fraîchement aléatoire à chaque fois - et tous vérifieront le même mot de passe.
Vérifier un hachage
Collez $2a$04$RPx7yiCLNb09VKAUBVNsnOVNzB1Zp/hE1qbDvGUs1aehNX5hE15su avec le mot de passe password → Match ✓. Les badges le décodent en version $2a$, coût 4, sel RPx7yiCLNb09VKAUBVNsnO.
Lire le format du hachage
$2b$12$ + 22 caractères de sel + 31 caractères de condensat = 60 caractères au total. Le 12 est le coût : 2¹² = 4 096 tours EksBlowfish ont été exécutés pour construire le calendrier de clés.
Bon à savoir
- Pourquoi bcrypt bat SHA-256 brut pour les mots de passe : SHA-256 est rapide - exactement ce qu’on ne veut pas. Un GPU moderne calcule des milliards de SHA-256 par seconde, mais seulement des dizaines de milliers de hachages bcrypt, parce que le facteur de coût de bcrypt force 2^cost tours séquentiels de calendrier de clés, et que son sel tue les rainbow tables et la réutilisation entre comptes. Pour la même raison, bcrypt bat aussi MD5 et SHA-1 d’entrée de jeu - les deux sont cassés côté collisions et bien trop bon marché à calculer.
- Le coût est un curseur, pas une constante : choisissez le coût le plus lent que vos utilisateurs et votre matériel tolèrent - environ 250 ms-1 s par hachage sur vos serveurs de connexion. Aujourd’hui, cela signifie coût 10-12 ; montez-le tous les quelques ans à mesure que le matériel accélère. La vérification paie le même coût que le hachage, donc un coût absurément élevé ralentit aussi vos propres connexions et peut devenir un levier de déni de service sur l’endpoint de connexion.
- Limite de 72 octets : bcrypt lit au plus les 72 premiers octets du mot de passe, et cet outil suit cette règle à la lettre. Le conseil moderne est de pré-hacher avec SHA-256 si vous devez supporter de longues phrases secrètes - mais faites-le avec soin (passez d’abord la longueur brute dans un
HMACHMACA construction that combines a hash function with a secret key to prove a message is intact and came from someone holding the key.
, ou vous héritez des ambiguïtés d’octets nuls de SHA-256). - N’inventez jamais votre propre comparaison : vérifiez toujours avec une comparaison en temps constant, comme le fait cet outil - l’égalité de chaînes sur les hachages fuit de l’information par le temps d’exécution.
- Alternatives quand vous pouvez choisir : Argon2id (dur pour la mémoire, vainqueur de la Password
HashingHashingA one-way function that maps data of any size to a fixed-length digest. Same input, same digest; any change, different digest; not reversible.
Competition) et scrypt sont plus forts contre les attaquants GPU/ASIC ; bcrypt reste une base éprouvée, supportée partout. - Outils liés : Password Strength Analyser, Password Generator, HMAC Generator.