BrowserTools
Publicité
Accueil / Encodeurs / Générateur et Vérificateur Bcrypt

Générateur et Vérificateur Bcrypt

Générez des hachages bcrypt de mots de passe et vérifiez un mot de passe par rapport à un hachage existant, entièrement dans votre navigateur.

Chargement de Générateur et Vérificateur Bcrypt… Si rien ne se passe, activez JavaScript.

Bcrypt est une fonction de hachage de mots de passe conçue en 1999 par Niels Provos et David Mazieres, construite spécifiquement pour rendre les mots de passe stockés résistants au cassage par force brute. Contrairement aux condensés rapides à usage général comme MD5 ou SHA-256, bcrypt est délibérément lent et inclut un facteur de coût réglable qui fixe la quantité de travail de calcul requise par chaque hachage. Chaque hachage bcrypt intègre aussi un sel aléatoire unique, de sorte que deux utilisateurs ayant le même mot de passe produisent des hachages complètement différents, et une seule chaîne de sortie porte tout ce qu'il faut pour vérifier un mot de passe plus tard : la version de l'algorithme, le coût, le sel et le condensé. Ce format autonome explique pourquoi les hachages bcrypt peuvent être stockés directement dans une colonne de base de données.

Questions fréquentes

Les mots de passe et les hachages que je saisis sont-ils envoyés quelque part ?
Non. Le hachage et la vérification s'exécutent entièrement dans votre navigateur à l'aide d'une implémentation de bcrypt en JavaScript. Rien de ce que vous tapez n'est téléversé, transmis ni journalisé. L'outil continue de fonctionner hors ligne une fois la page chargée, il est donc sûr de l'utiliser avec de vraies identifiants pendant que vous testez ou apprenez.
Qu'est-ce que le facteur de coût et quelle valeur dois-je utiliser ?
Le facteur de coût (le nombre situé après le second signe dollar dans un hachage) fixe le nombre de tours de travail que bcrypt effectue, sur une échelle logarithmique. Chaque incrément double environ le temps par hachage. Un coût de 10 est une valeur par défaut courante ; 12 est plus robuste mais plus lent. Choisissez le coût le plus élevé que votre serveur peut tolérer tout en conservant des temps de réponse de connexion acceptables, souvent entre 100 et 250 millisecondes par hachage.
Pourquoi bcrypt inclut-il automatiquement un sel ?
Un sel est une donnée aléatoire mélangée au hachage afin que des mots de passe identiques produisent des sorties différentes, déjouant les attaques par tables arc-en-ciel précalculées. Bcrypt génère un nouveau sel aléatoire pour chaque hachage et l'intègre directement dans la chaîne de sortie, vous n'avez donc pas à stocker ni à gérer les sels séparément. Le vérificateur lit le sel directement dans le hachage stocké.
Puis-je inverser un hachage bcrypt pour retrouver le mot de passe ?
Non. Bcrypt est une fonction à sens unique, il n'y a donc aucune opération de décodage et cet outil n'a pas de mode de décodage. La seule façon de tester un mot de passe est de hacher un candidat avec le même sel et le même coût puis de comparer, ce qui est exactement ce que fait le mode Vérifier. Si un hachage pouvait être inversé, il serait inutile pour protéger les mots de passe.
Comment le mode Vérifier sait-il si un mot de passe correspond ?
Il extrait la version de l'algorithme, le facteur de coût et le sel qui sont stockés à l'intérieur du hachage bcrypt, rehache votre mot de passe candidat avec ces mêmes paramètres, et vérifie si le condensé obtenu est égal à celui stocké. C'est le processus identique qu'utilise un système de connexion, et c'est pourquoi vous n'avez jamais besoin de stocker le mot de passe d'origine où que ce soit.
En quoi bcrypt diffère-t-il de SHA-256 dans le Générateur de Hachage ?
SHA-256 est un condensé cryptographique rapide destiné aux sommes de contrôle, aux vérifications d'intégrité et aux empreintes ; il est intentionnellement rapide, ce qui en fait un mauvais choix pour les mots de passe car les attaquants peuvent essayer des milliards de tentatives par seconde. Bcrypt est délibérément lent et salé, conçu spécifiquement pour rendre la devinette de mots de passe coûteuse. Utilisez le Générateur de Hachage pour l'intégrité de fichiers ou de données, et bcrypt pour stocker des mots de passe.
Que signifient les préfixes $2a$ et $2b$ ?
Le marqueur de tête identifie la variante de bcrypt qui a produit le hachage. $2a$ est la version courante de longue date, tandis que $2b$ est une variante corrigée qui a réglé un bogue de débordement lié à des entrées très longues. Les deux sont largement prises en charge et se vérifient correctement. La partie située après le marqueur encode le coût, et le reste contient le sel et le condensé ensemble.
Bcrypt a-t-il une limite de longueur de mot de passe ?
Oui. Bcrypt ne traite que les 72 premiers octets du mot de passe d'entrée ; tout ce qui dépasse est ignoré. Pour la plupart des mots de passe, cela n'a aucune importance, mais cela compte si vous préhachez ou concaténez de longues valeurs avant bcrypt. Si vous devez prendre en charge des entrées de longueur arbitraire, hachez d'abord le mot de passe avec SHA-256 ou utilisez une fonction comme Argon2 qui n'a pas cette limite.

À propos de Générateur et Vérificateur Bcrypt

Cet outil possède deux modes. En mode Hachage, vous saisissez un mot de passe et choisissez un facteur de coût de 8, 10 ou 12 tours, et il produit une chaîne de hachage bcrypt complète commençant par un marqueur tel que $2a$ ou $2b$. Un coût plus élevé double environ le travail à chaque incrément, donc 12 est nettement plus lent que 10, qui est la valeur par défaut courante. En mode Vérifier, vous collez un hachage bcrypt existant et un mot de passe candidat, et l'outil indique s'ils correspondent. La vérification fonctionne en réexécutant bcrypt avec le sel et le coût extraits du hachage stocké, puis en comparant le résultat, ce qui est exactement la façon dont un système de connexion vérifie un mot de passe sans jamais le stocker en clair.

Tout s'exécute localement dans votre navigateur à l'aide d'une implémentation de bcrypt en JavaScript. Les mots de passe et les hachages que vous saisissez ne sont jamais téléversés, transmis ni journalisés, ce qui rend l'outil sûr pour expérimenter avec de vraies identifiants pendant l'apprentissage, le test d'un backend ou l'initialisation d'une base de données de développement. Gardez à l'esprit que bcrypt est une fonction à sens unique : il n'y a pas de mode de décodage, car un hachage correct ne peut être ramené au mot de passe d'origine. Elle est aussi distincte des hachages rapides de l'outil Générateur de Hachage. Utilisez bcrypt (ou une alternative moderne comme Argon2) pour stocker des mots de passe, et réservez les condensés de type SHA aux sommes de contrôle, aux vérifications d'intégrité et aux empreintes qui ne concernent pas les mots de passe.

Pourquoi la lenteur est une fonctionnalité, pas un défaut

La plupart des logiciels sont conçus pour être aussi rapides que possible, mais bcrypt a été délibérément conçu pour être lent, et ce choix est tout l'intérêt. Lorsque Niels Provos et David Mazieres ont présenté bcrypt à USENIX en 1999, ils l'ont bâti sur l'étape coûteuse de configuration de clé du chiffrement Blowfish et y ont ajouté un facteur de coût ajustable. Le génie de la conception est que le coût n'est pas figé dans l'algorithme ; à mesure que les ordinateurs deviennent plus rapides, les défenseurs peuvent simplement augmenter le coût pour que le cassage de mots de passe reste aussi pénible qu'il l'était des années plus tôt.

Cela compte parce que la menace est asymétrique. Un serveur légitime hache un mot de passe par connexion, donc un hachage prenant un cinquième de seconde est à peine perceptible. Un attaquant qui vole une base de données de mots de passe veut en revanche essayer des milliards de tentatives, et ce même cinquième de seconde par essai transforme un après-midi de cassage en des siècles. Les hachages rapides comme MD5 et SHA-1 sans sel s'effondrent face aux GPU modernes et au matériel spécialisé qui testent des dizaines de milliards de candidats par seconde ; la lenteur réglable de bcrypt et son sel par mot de passe émoussent à la fois la force brute et les tables arc-en-ciel.

Comme le facteur de coût réside dans chaque hachage, un système peut renforcer sa sécurité de façon transparente au fil du temps. Lorsqu'un utilisateur se connecte, le serveur peut vérifier le coût intégré dans son hachage stocké, et s'il est inférieur à la cible actuelle, rehacher le mot de passe fraîchement vérifié à un coût plus élevé et enregistrer la nouvelle valeur. Bcrypt a remarquablement bien vieilli depuis 1999, et bien que des fonctions plus récentes comme scrypt et Argon2 ajoutent une dureté mémoire pour mieux résister encore au matériel spécialisé, bcrypt demeure une valeur par défaut solide et largement prise en charge pour le stockage des mots de passe.

Publicité
Publicité
Publicité