Générateur de Mot de Passe Bcrypt
Générez des hachages bcrypt sécurisés pour vos mots de passe instantanément dans votre navigateur. Choisissez votre facteur de coût et hachez côté client — complètement privé et gratuit.
Générez des hachages bcrypt sécurisés pour vos mots de passe instantanément dans votre navigateur. Choisissez votre facteur de coût et hachez côté client — complètement privé et gratuit.
bcrypt est une fonction de hachage de mot de passe conçue par Niels Provos et David Mazières en 1999, dérivée du chiffre Blowfish. Contrairement aux fonctions de hachage à usage général comme SHA-256, bcrypt est délibérément lent – et lent de manière configurable, via un paramètre de coût – ce qui est exactement la propriété dont un hacheur de mot de passe a besoin. Une fonction de hachage plus rapide permet aux attaquants de forcer davantage de candidats par seconde ; un plus lent les limite.
bcrypt intègre également automatiquement du sel par mot de passe, éliminant ainsi toute une classe d'attaques basées sur des tables arc-en-ciel précalculées. Les paramètres salt et cost sont stockés dans le cadre de la sortie bcrypt, la vérification ne nécessite donc que le hachage stocké et le mot de passe candidat – pas de gestion séparée du salt. Cette combinaison de lenteur, de sel et de format autonome a fait de bcrypt le hachage de mot de passe par défaut pendant deux décennies et un choix judicieux aujourd'hui.
Des alternatives modernes existent. Argon2 a remporté le concours de hachage de mot de passe 2015 et offre une dureté de mémoire en plus de la dureté du temps. scrypt offre des propriétés similaires. Pour les nouvelles conceptions, Argon2id est le choix recommandé. bcrypt reste acceptable et largement déployé, en particulier dans les environnements où Argon2 n'est pas disponible.
Stocker les mots de passe sous forme de texte brut est une faute professionnelle. Les stocker avec un hachage rapide comme SHA-256 n'est guère mieux : les GPU modernes calculent des milliards de hachages SHA-256 par seconde, ce qui rend les attaques par force brute contre n'importe quel mot de passe courant réalisables en quelques heures. La lenteur délibérée de bcrypt change la donne : avec un facteur de coût de 12, un attaquant dépense environ 250 ms par mot de passe candidat, ce qui rend la force brute peu pratique pour tout mot de passe non trivial.
Le sel automatique par mot de passe de bcrypt bat également les attaques de table arc-en-ciel. Deux utilisateurs avec le même mot de passe produisent des hachages bcrypt différents car leurs sels diffèrent. La compromission de la base de données de mots de passe ne permet pas à un attaquant d'identifier rapidement les mots de passe courants ou les accès aux tables précalculées.
Tapez un mot de passe, choisissez le coût, obtenez le hachage.
bcrypt utilise la phase de configuration de clé d'un chiffre Blowfish modifié, répétée 2 fois au coût. Le facteur de coût est logarithmique : le coût 12 est deux fois plus lent que le coût 11, quatre fois plus lent que le coût 10. Cette mise à l'échelle logarithmique permet aux administrateurs d'augmenter le coût au fil du temps à mesure que le matériel s'améliore, sans reconcevoir le système.
Le format de sortie est $version$cost$saltAndHash où saltAndHash est codé en base64 avec un alphabet personnalisé. La version est généralement $2b$ (la variante moderne avec le bug de bouclage corrigé) ou $2y$ (spécifique à PHP, équivalent). Le sel fait 16 octets ; le hachage fait 24 octets ; ensemble, ils codent sur 53 caractères de base personnalisée64.
La longueur maximale d’entrée est de 72 octets (limite de longueur de clé Blowfish). Les mots de passe plus longs sont tronqués silencieusement, ce qui est une bizarrerie de longue date de bcrypt. La meilleure pratique consiste soit à limiter la longueur du mot de passe à 72 octets, soit à pré-hacher avec SHA-256 pour normaliser la longueur avant bcrypt.