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

Stocker des mots de passe avec MD5 ou SHA256 les expose, car ces algorithmes sont beaucoup trop rapides. Un GPU moderne teste des milliards de tentatives par seconde contre eux. Les développeurs ont besoin d’un algorithme volontairement lent et salé, mais en configurer un localement uniquement pour tester un hachage fait perdre du temps.

Ce générateur de hachages bcrypt crée des hachages de mots de passe sécurisés avec un facteur de coût que vous contrôlez. Collez un mot de passe, choisissez un facteur de travail et obtenez instantanément un hachage bcrypt valide. Vous pouvez également vérifier un hachage existant par rapport à un texte clair, et tout s’exécute dans votre navigateur.

Hachage uniquement dans le navigateur
Générez et vérifiez bcrypt
Contrôle personnalisé du facteur de coût

Créez ou vérifiez un hachage bcrypt

Stocker des mots de passe avec MD5 ou SHA256 les expose, car ces algorithmes sont beaucoup trop rapides. Un GPU moderne teste des milliards de tentatives par seconde contre eux. Les développeurs ont besoin d’un algorithme volontairement lent et salé, mais en configurer un localement uniquement pour tester un hachage fait perdre du temps.

Coût bcrypt
12
Préfixe du hachage
$2b$ (valeur moderne par défaut)
0 caractères
0 octets

Utilisez $2b$ pour la sortie moderne par défaut, ou $2y$ lorsque vous avez besoin d’un format compatible avec PHP.

Qu’est-ce qu’un générateur de hachages bcrypt ?

Un générateur de hachages bcrypt, parfois appelé générateur de hachages de mots de passe bcrypt, transforme un mot de passe en texte clair en un hachage bcrypt sécurisé. Bcrypt est une fonction de hachage de mots de passe fondée sur le chiffrement Blowfish, conçue par Niels Provos et David Mazières en 1999. Contrairement aux hachages rapides comme MD5, bcrypt est volontairement lent afin de résister aux attaques par force brute.

Cet outil produit un hachage standard de 60 caractères que toute bibliothèque bcrypt peut vérifier. Il fonctionne aussi comme vérificateur bcrypt en contrôlant si un mot de passe correspond à un hachage que vous possédez déjà. Les deux opérations s’effectuent entièrement sur votre appareil, de sorte qu’aucun mot de passe n’est envoyé à un serveur.

Comment utiliser ce générateur de hachages bcrypt

L’utilisation de ce générateur de hachages bcrypt en ligne ne prend que quelques secondes et ne nécessite ni compte ni installation. L’outil fonctionne dans tout navigateur moderne sur ordinateur et mobile. Suivez les étapes ci-dessous pour générer ou vérifier un hachage.

  • Saisissez votre mot de passe en texte clair dans le champ de saisie.
  • Choisissez un facteur de coût, généralement compris entre 10 et 12.
  • Cliquez sur Générer pour produire le hachage bcrypt.
  • Pour effectuer une vérification, collez un hachage existant et le texte clair, puis cliquez sur Vérifier.

Le générateur crée un nouveau sel aléatoire à chaque exécution. Cela signifie que le même mot de passe produit un hachage différent à chaque génération. Ce comportement est correct et attendu, et la fonction de vérification permet de confirmer une correspondance.

Comprendre le format d’un hachage bcrypt

Chaque hachage bcrypt suit une structure fixe qui regroupe quatre parties dans une seule chaîne. La comprendre vous aide à diagnostiquer les problèmes d’authentification et à confirmer qu’un hachage est valide. L’exemple ci-dessous présente chaque segment d’un véritable hachage bcrypt.

Un hachage tel que $2b$10$oHLkY4emC3geWiN6anPYnevZAh9RtyHgQeOeGwWbWF9xlJidZsQDi se décompose clairement. $2b$ indique la version de bcrypt, 10 est le facteur de coût, les 22 caractères suivants constituent le sel et les 31 derniers caractères représentent le hachage. La chaîne complète comporte toujours 60 caractères, ce qui permet de repérer facilement les hachages mal formés.

Segment
Exemple
Signification
Version$2b$Identifiant de l’algorithme
Coût10Facteur de travail, 2 élevé à cette valeur
Sel22 caractèresSel aléatoire propre à chaque hachage
Hachage31 caractèresLe condensé bcrypt

Versions de bcrypt : $2a$, $2b$ et $2y$

Le préfixe de version indique aux bibliothèques quelle variante de bcrypt a produit un hachage. La plupart des bibliothèques modernes utilisent $2b$ par défaut, la version actuelle d’OpenBSD. Vous rencontrerez encore des préfixes plus anciens ou propres à certains langages dans les systèmes réels.

Le préfixe $2a$ est le préfixe d’origine et reste largement compatible entre les bibliothèques. PHP et Laravel produisent des hachages $2y$, issus de l’implémentation crypt_blowfish. Les trois se vérifient de la même manière, si bien qu’un hachage $2y$ provenant de PHP est correctement validé avec le bon mot de passe. Ce générateur de hachages bcrypt produit un préfixe standard accepté par toute bibliothèque conforme.

Choisir un facteur de coût bcrypt

Le facteur de coût, également appelé facteur de travail, contrôle la lenteur de chaque hachage. L’augmenter d’une unité double le temps de calcul, car le nombre de tours correspond à 2 élevé à la puissance du coût. Un coût de 10 représente 1 024 tours, tandis qu’un coût de 12 en représente 4 096.

Des valeurs de coût plus élevées résistent mieux aux attaques par force brute, mais ralentissent chaque connexion. Une valeur comprise entre 10 et 12 offre un bon équilibre entre sécurité et rapidité pour la plupart des applications web actuelles. Testez le temps sur votre propre matériel en visant environ 250 millisecondes par hachage. Ce générateur bcrypt en ligne vous permet de voir comment chaque réglage de coût affecte la sortie.

Vérifier un hachage avec le générateur de hachages bcrypt

La vérification est indispensable, car vous ne pouvez pas comparer directement deux hachages bcrypt. Le même mot de passe produit un hachage différent à chaque fois grâce au sel aléatoire. Une comparaison de chaînes échoue toujours ; seul un vérificateur approprié constitue une méthode fiable.

Le vérificateur extrait le sel et le coût du hachage stocké, puis hache de nouveau votre texte clair avec exactement ces valeurs. Si le résultat correspond au hachage stocké, le mot de passe est correct. Collez le hachage et le mot de passe candidat dans cet outil pour effectuer cette vérification en toute sécurité dans votre navigateur.

Bcrypt pour Laravel, PHP et Node.js

Bcrypt est l’algorithme de mots de passe par défaut dans la plupart des frameworks web modernes. La fonction password_hash() de PHP utilise bcrypt par défaut et renvoie un hachage $2y$. Laravel l’encapsule dans son assistant Hash::make(), ce qui explique pourquoi un générateur de hachages Laravel et un générateur bcrypt produisent le même format.

Les développeurs Node.js utilisent les paquets bcrypt ou bcryptjs pour obtenir des résultats identiques. Tous produisent la sortie standard de 60 caractères créée par cet outil. Vous pouvez générer ici un hachage de test et l’insérer directement dans un jeu de données initial ou une fixture de base de données.

Pourquoi bcrypt protège mieux les mots de passe

Bcrypt combine trois protections totalement absentes des hachages rapides comme SHA256. Il ajoute automatiquement un sel à chaque hachage, de sorte que des mots de passe identiques ne partagent jamais le même condensé. Il est volontairement lent, ce qui réduit fortement la vitesse des attaques par force brute et par dictionnaire.

Son facteur de coût adaptatif constitue son troisième avantage, et le plus important. À mesure que le matériel devient plus rapide, vous augmentez le coût afin que les hachages restent coûteux à casser. Un hachage créé aujourd’hui peut rester sécurisé pendant des années simplement en choisissant un facteur de travail raisonnable. Pour créer les mots de passe eux-mêmes, associez cet outil à notre Générateur de mots de passe.

La limite de 72 octets des mots de passe

Bcrypt ne traite que les 72 premiers octets d’un mot de passe. Les caractères situés au-delà sont ignorés, ce qui peut affaiblir de façon inattendue les phrases secrètes très longues. Les anciennes bibliothèques tronquaient silencieusement l’entrée, tandis que les plus récentes rejettent les entrées trop longues avec une erreur.

Cette limite explique pourquoi WordPress pré-hache les mots de passe avec SHA-384 avant d’appliquer bcrypt. Si vos mots de passe peuvent dépasser 72 octets, hachez-les d’abord une fois avec SHA-256, puis appliquez bcrypt au résultat. Pour les hachages propres à WordPress, utilisez plutôt notre Générateur de hachages de mots de passe WordPress. Pour examiner des condensés qui ne sont pas des mots de passe, le Générateur de hachages couvre MD5 à SHA-512.

Questions fréquentes

Foire aux questions