C'est quoi le facteur de coût bcrypt et pourquoi ça compte ?
bcrypt est le standard du secteur depuis plus de 20 ans. Chaque login dans ton appli est un hash de mot de passe + compare avec la base. Plus le hash est lent, plus c'est dur pour un attaquant de deviner les mots de passe en essayant des millions de combinaisons. Entre en scène le « facteur de coût » : un paramètre qui échelle le temps de calcul exponentiellement.
Cost 10 = environ 10 ms par hash (hardware rapide, login utilisateur rapide). Cost 12 = environ 40 ms. Cost 14 = environ 160 ms. Cost 16 = >0,5 s (login sensiblement lent). Trade-off : trop bas = force brute facile. Trop haut = mauvaise UX et coût serveur plus élevé.
OWASP recommande en 2025 : vise 250-500 ms par hash sur ton hardware de production. Lance le benchmark ici sur ta machine, vois le facteur de coût qui atterrit dans cette fenêtre.
Tout tourne en local. Ton mot de passe de test ne quitte jamais le navigateur.
Comment l'utiliser
- Clique sur Lancer le benchmark. L'outil hash un mot de passe d'exemple aux facteurs de coût 4, 6, 8, 10, 12, 14 (trois fois chacun).
- Un instant plus tard tu vois le graphique : axe Y en millisecondes, chaque barre est un cost différent. Les barres croissent exponentiellement (chaque cost est 2× plus lent que le précédent).
- Recommandation : le cost le plus élevé qui rentre encore dans la fenêtre 250-500 ms (barre verte). Mets ce nombre dans la config de ton appli.
- En dessous : Quick-test te laisse hasher n'importe quel mot de passe à n'importe quel cost et voir le temps exact + le hash bcrypt pour ce mot de passe sur cet appareil.
- N'oublie pas : le cost sur ton portable n'est pas le cost sur ton serveur de production. Lance le benchmark sur le hardware réel où ton appli va tourner.
Quand l'utiliser
Cinq situations courantes où un analyseur de cost aide :
- Choisir un cost pour une nouvelle appli. Tu hash des mots de passe utilisateurs pour la première fois, il te faut un cost. Le benchmark te dit : sur ce VPS, cost 12 c'est 280 ms, parfait.
- Migrer vers un cost plus fort. Ton appli a utilisé cost 10 pendant 3 ans, l'heure de monter. Le benchmark montre que cost 13 ne fait plus que 200 ms sur les nouveaux serveurs.
- Diagnostiquer des logins lents. Les utilisateurs se plaignent de logins de 2 secondes. Benchmark : ah, l'équipe a mis cost 16, bien trop haut pour cette box.
- Comparaison hardware. Vieux serveur vs nouvelle instance AWS, combien de cost tu peux te permettre ?
- Sensibilisation équipe. Montre à un junior comment le facteur de coût marche et pourquoi MD5 ne suffit pas.
Pour générer d'autres hashs (SHA-256, MD5, Argon2), utilise le générateur de hash de mot de passe. Pour vérifier si un mot de passe a fuité, utilise pwned passwords.