Bcrypt Hash Generator

One input per line. Output is numbered to match the input order.
Pinned tools are listed in your favourites on the home page.Copies a link to this tool that carries your current input, so it opens ready to run.Gives you an iframe snippet for putting this tool on your own site.

Real bcrypt (Blowfish + Expensive Key Schedule), computed in your browser — output verifies against bcrypt libraries in Node.js, PHP, Python, Ruby, and Go. Note that bcrypt hashes at most the first 72 bytes of a password.

Ctrl+Enter Run  · Ctrl+Shift+C Copy  · Esc Clear

Understand Bcrypt Hash Generator

Hache un mot de passe avec un facteur de coût configurable au format $2b$, et vérifie un mot de passe face à une empreinte qu'il a produite.

How it works

Le hachage de mot de passe est lent à dessein. Le facteur de coût est un exposant, si bien que chaque incrément double le travail : un coût de 12 revient à quatre fois un coût de 10, et un attaquant qui cherche hors ligne subit le même ralentissement. Un sel aléatoire de 16 octets est généré pour chaque empreinte et stocké dans la chaîne de sortie, si bien que deux utilisateurs ayant choisi le même mot de passe obtiennent des empreintes différentes et qu'une seule table arc-en-ciel précalculée ne peut pas attaquer toute une base. Le travail lui-même est le calendrier de clés de Blowfish exécuté 2^cost fois — cette initialisation coûteuse est toute la raison d'être de l'algorithme, et c'est elle qui fait résister bcrypt au parallélisme des GPU, lequel rend une fonction rapide comme SHA-256 inadaptée ici.

When to use it

  • Voir combien de temps prend une empreinte à chaque facteur de coût avant de l'augmenter en production.
  • Lire les parties d'une chaîne $2b$ — version, coût, sel, empreinte — pendant le débogage d'un problème de connexion.
  • Comprendre pourquoi une empreinte de mot de passe stockée porte son propre sel plutôt qu'un sel partagé.
  • Générer une empreinte jetable pour une donnée de test locale ou un script d'amorçage, où la valeur n'est pas un véritable identifiant.

Watch out for

  • Le coût est un exposant, pas un pourcentage. Passer de 10 à 14 rend chaque connexion seize fois plus lente pour votre serveur aussi : augmentez-le donc au regard d'une latence mesurée sur votre propre matériel, et non jusqu'à un nombre lu quelque part.
  • Ne mettez jamais un mot de passe réel dans une page web pour le faire hacher. Le hachage a sa place sur votre serveur, là où le texte clair arrive par TLS, n'est jamais affiché et n'atteint jamais une ligne de journal ni un champ de formulaire.
  • Augmenter le facteur de coût ne met pas à niveau les empreintes déjà stockées. Le coût est inscrit dans chaque chaîne. La migration habituelle consiste à recalculer l'empreinte à la prochaine connexion réussie de l'utilisateur, le seul moment où vous détenez légitimement le texte clair.
  • bcrypt lui-même ignore tout ce qui dépasse les 72 premiers octets d'un mot de passe. Les longues phrases de passe perdent silencieusement leur fin, ce qui compte si vous les acceptez ou si vous pré-hachez l'entrée avant bcrypt.

Not the right tool for: Produire l'empreinte que vous stockerez en production. Générez-la dans votre application avec une bibliothèque maintenue — Argon2id est aujourd'hui la première recommandation des consignes OWASP sur le stockage des mots de passe, bcrypt à un coût de 10 ou plus étant une alternative acceptée.

Frequently Asked Questions

Qu'est-ce que le hachage de mot de passe ?

Le hachage de mot de passe transforme un mot de passe en une chaîne de longueur fixe (l'empreinte) à l'aide d'une fonction à sens unique. Les bases de données stockent des empreintes, pas du texte clair : si la base fuite, les attaquants ne peuvent pas lire les mots de passe d'origine. bcrypt est l'algorithme de hachage recommandé parce qu'il est délibérément lent, ce qui rend les attaques par force brute peu praticables.

Qu'est-ce qu'un sel dans le hachage de mot de passe ?

Un sel est une valeur aléatoire ajoutée au mot de passe avant le hachage, ce qui rend chaque empreinte unique même pour des mots de passe identiques. bcrypt génère automatiquement un sel aléatoire de 16 octets et l'intègre à l'empreinte produite. Sans sel, un attaquant peut utiliser des tables arc-en-ciel précalculées pour casser plusieurs empreintes d'un coup.

Peut-on déchiffrer une empreinte bcrypt ?

Non — bcrypt est une fonction à sens unique, sans déchiffrement. Pour vérifier un mot de passe, on exécute bcrypt sur la saisie avec le sel stocké et on compare le résultat à l'empreinte stockée. S'ils correspondent, le mot de passe est correct. Cette conception fait que même le développeur de l'application ne peut pas retrouver le mot de passe d'origine.

How to Use Bcrypt Hash Generator

  1. Paste or type your input in the input area above.
  2. The tool processes your input automatically or click Run.
  3. Copy or download the result using the action buttons.
  4. Use Ctrl+Enter to run quickly from the keyboard.