§

Générateur Bcrypt

§

Générer un hachage bcrypt

10 (1,024 rounds)

Bcrypt est le système de hachage de mots de passe de référence dans le développement web depuis ses débuts en 1999 par Provos et Mazières. NIST SP 800-63B recommande un hachage à mémoire intensive pour le stockage des mots de passe, et OWASP liste bcrypt comme une option privilégiée aux côtés d'Argon2id. Rails intègre bcrypt via has_secure_password, Django le supporte comme backend enfichable, et les développeurs Node.js utilisent bcryptjs. Le facteur de coût contrôle le temps nécessaire pour un seul hachage — doubler le coût double le travail. La plupart des applications utilisent le coût 10 (1 024 rounds) comme base, tandis que les systèmes financiers ou administratifs montent souvent à 12 (4 096 rounds). Cet outil fonctionne entièrement dans le navigateur avec JavaScript, donc vos mots de passe ne quittent jamais votre machine.

Qu'est-ce que bcrypt ?

Bcrypt est une fonction de hachage de mots de passe conçue par Niels Provos et David Mazières, basée sur le chiffrement Blowfish. Contrairement aux empreintes rapides comme MD5 ou SHA-256, bcrypt est délibérément lent et coûteux en calcul — ce qui rend les attaques par force brute contre des hachages de mots de passe volés impraticables. Bcrypt génère automatiquement un sel aléatoire par mot de passe, donc des mots de passe identiques produisent des hachages différents.

Comment fonctionne bcrypt ?

L'algorithme bcrypt s'exécute entièrement dans votre navigateur. Voici ce qui se passe étape par étape :

  1. Votre mot de passe est encodé en octets UTF-8 et introduit dans le calendrier de clés bcrypt, qui initialise le tableau P de 4 184 octets et les boîtes S du chiffrement Blowfish à l'aide du mot de passe et du sel.
  2. Un sel aléatoire de 128 bits est généré. Le sel est mélangé dans le calendrier de clés afin que chaque sel unique produise un hachage complètement différent, même pour le même mot de passe.
  3. Le calendrier de clés est exécuté pendant 2^coût rounds (ex., 2^10 = 1 024 itérations au coût 10). Chaque itération rechiffre le sel et les entrées du tableau P, rendant le calcul plus lent à mesure que le coût augmente.
  4. Le résultat final est une chaîne de 60 caractères au format $2b$<cost>$<salt><hash>, où cost est complété par un zéro (ex., 10), salt fait 22 caractères Base64, et hash fait 31 caractères Base64.
  5. Pour la vérification, le même algorithme est réexécuté avec le mot de passe candidat et le sel extrait du hachage stocké. Si le hachage dérivé correspond au hachage stocké, le mot de passe est correct.

Quel facteur de coût dois-je utiliser ?

Le facteur de coût est le logarithme du nombre d'itérations — coût 10 signifie 2^10 = 1 024 rounds, coût 12 signifie 4 096 rounds. Choisissez en fonction de vos besoins de sécurité et de votre matériel :

  • Coût 4-6 (16-64 rounds) — uniquement pour le développement et les tests. Trop rapide pour la production ; offre une protection minimale.
  • Coût 8 (256 rounds) — minimum vital pour les applications non critiques. Environ 6 ms sur du matériel moderne.
  • Coût 10 (1 024 rounds) — base recommandée actuelle. Prend environ 25 ms. Bon pour la plupart des applications web.
  • Coût 12 (4 096 rounds) — recommandé pour les portails d'administration, les systèmes financiers et les applications haute sécurité. Prend environ 100 ms.
  • Coût 14 (16 384 rounds) — haute sécurité. Prend environ 400 ms. À utiliser pour les mots de passe maîtres, les clés de chiffrement, ou lorsque la latence de connexion est acceptable.

Pourquoi utiliser ce générateur bcrypt ?

  • Votre vie privée est protégée — chaque mot de passe est haché localement dans votre navigateur et aucune donnée ne quitte votre appareil.
  • Vous avez les deux modes côte à côte : générer de nouveaux hachages ou vérifier des hachages existants sans changer de page.
  • Le facteur de coût est réglable de 4 (rapide) à 15 (très lent), pour correspondre aux besoins de sécurité de votre application.
  • Les hachages utilisent le format standard $2b$ compatible avec tous les principaux langages et frameworks.

Quelles sont les applications courantes de bcrypt ?

Bcrypt est largement utilisé pour le stockage et la vérification des mots de passe dans l'industrie :

  • Authentification d'applications web — stocker les hachages de mots de passe des utilisateurs dans des bases de données afin que les mots de passe en clair ne soient jamais sauvegardés.
  • Hachage de clés API — hacher les secrets d'API avant de les stocker, afin qu'une fuite de base de données ne divulgue pas d'identifiants valides.
  • Audit de migration — vérifier que les hachages de mots de passe hérités d'un ancien système authentifient toujours les utilisateurs après la mise à niveau de la couche d'authentification.

À quoi ressemble un hachage bcrypt ?

Hacher le mot de passe hunter2 avec un facteur de coût 10 produit une chaîne comme $2b$10$N9qo8uLOickgx2ZMRZoMyeIjZAgcfl7p92ldGxad68LJZdL17lhWy. Le format se décompose ainsi : $2b$ (version de l'algorithme), 10 (facteur de coût), $, puis 22 caractères de sel et 31 caractères de hachage, le tout encodé en Base64. Chaque exécution avec le même mot de passe produit un hachage différent à cause du sel aléatoire.

Ce générateur bcrypt fonctionne entièrement dans votre navigateur en utilisant une implémentation en JavaScript pur. Hachez les mots de passe avant de les stocker, vérifiez les hachages existants et ajustez le facteur de coût selon vos besoins de sécurité — le tout sans envoyer un seul octet à un serveur.