Outils

Générateur et vérificateur de hachage bcrypt

Hachez un mot de passe avec bcrypt au facteur de coût de votre choix, ou vérifiez un mot de passe contre un hachage $2a$/$2b$/$2y$ existant.

S’exécute dans le navigateurHachage et chiffrement3,8 k
Gratuit

Entrée

0 B

Résultat

Le résultat apparaîtra ici.

bcrypt reste le hachage de mots de passe que la plupart des frameworks choisissent par défaut — Laravel, has_secure_password de Rails, Spring Security, le hacheur optionnel de Django —, si bien que tôt ou tard il vous faut un hachage pour un utilisateur de test, ou comprendre pourquoi une connexion échoue sans cesse. Cet outil fait les deux : hacher un mot de passe avec un facteur de coût choisi, ou coller un hachage stocké et voir si un mot de passe lui correspond. Il repose sur bcrypt.js (dcodeIO/bcrypt.js, 3,8k étoiles, BSD-3-Clause), une implémentation JavaScript sans dépendance dont les hachages sont interchangeables avec ceux de la bibliothèque C derrière password_hash de PHP, bcrypt de Python et x/crypto/bcrypt de Go.

Comment ça marche

  • Un nouveau sel de 128 bits est tiré de crypto.getRandomValues à chaque exécution : hacher deux fois le même mot de passe donne deux hachages différents de 60 caractères, qui se vérifient tous les deux.
  • Le facteur de coût est le logarithme en base 2 du nombre de tours d’expansion de clé : un coût de 10 représente 1 024 tours, et chaque cran supplémentaire double le temps — la durée affichée est mesurée sur votre appareil.
  • La vérification recalcule le hachage avec le sel et le coût inscrits dans le hachage stocké, puis compare le résultat en temps constant, exactement comme le fait le contrôle de connexion d’un serveur.
  • Seuls les 72 premiers octets d’un mot de passe parviennent à bcrypt ; le résultat signale un mot de passe plus long, et un saut de ligne final issu d’un collage est retiré, les espaces étant conservées.

Où vont vos données

Nulle part. Cet outil s’exécute entièrement dans votre navigateur : le texte collé est traité par la page, jamais transmis à un serveur ni consigné dans un journal.

Cet outil manipule des clés et des identifiants : rien n’est enregistré sur une exécution, pas même dans votre propre historique.

Ce que ça coûte

Cet outil est gratuit, sans connexion ni points.

Questions fréquentes

Quel facteur de coût choisir ?
L’aide-mémoire Password Storage de l’OWASP demande au moins 10. En pratique, choisissez le coût le plus élevé que votre serveur de connexion peut supporter — de l’ordre de 100 à 250 ms par hachage sur cette machine, mesurés là-bas et non ici. Un coût de 12 prend quatre fois plus de temps qu’un coût de 10, et 15 trente-deux fois plus ; à partir de 13, l’outil vous avertit, car chaque connexion et chaque tentative d’un attaquant paient ce prix.
Quelle différence entre $2a$, $2b$ et $2y$ ?
C’est le même algorithme avec des étiquettes de correctif différentes. $2y$ a été introduit en 2011 par crypt_blowfish de PHP pour marquer les hachages produits après la correction d’un bogue d’extension de signe sur les octets non ASCII ; $2b$ a été introduit par OpenBSD en 2014 après un bogue qui faisait boucler la longueur du mot de passe à 256 octets. Pour tout mot de passe de moins de 72 octets, les trois donnent des hachages identiques au préfixe près, et la plupart des bibliothèques vérifient les trois.
Pourquoi un très long mot de passe correspond-il encore après que j’en ai modifié la fin ?
Parce que bcrypt ne voit jamais rien au-delà de l’octet 72, dans toutes les implémentations. Soixante-douze octets font 72 caractères ASCII, mais chaque lettre accentuée occupe deux octets en UTF-8 et un caractère chinois trois. Si vous devez accepter des phrases de passe plus longues, certains systèmes les pré-hachent avec SHA-256 et encodent l’empreinte en Base64 avant bcrypt — ne passez jamais l’empreinte binaire brute, car un octet nul termine le mot de passe dans de nombreuses implémentations.
bcrypt est-il encore un bon choix en 2026 ?
Il reste acceptable, et bien meilleur que n’importe quel hachage rapide comme SHA-256 ou MD5. L’OWASP place désormais Argon2id en premier et scrypt en second, car bcrypt utilise peu de mémoire et coûte donc moins cher à attaquer avec des GPU et du matériel dédié. Pour un système bcrypt existant, la voie habituelle consiste à relever le coût au fil du temps et à re-hacher à la connexion suivante.
Le mot de passe ou le hachage quittent-ils mon navigateur ?
Non. Le hachage et la vérification ont lieu dans le JavaScript de cette page, rien n’est transmis, et le site ne garde aucune trace de l’exécution — pas même dans l’historique d’un membre connecté.

L’open source derrière

Cet outil fonctionne grâce à dcodeIO/bcrypt.js, publié sous licence BSD-3-Clause. Si vous avez besoin du même comportement dans votre propre programme, c’est cette bibliothèque qu’il faut utiliser.

dcodeIO/bcrypt.js

Aussi appelé

  • générateur bcrypt
  • hachage bcrypt en ligne
  • vérifier bcrypt
  • bcrypt vérifier mot de passe
  • facteur de coût bcrypt
  • hacher un mot de passe