Aller au contenu

Vérificateur bcrypt et argon2

bcrypt & argon2 Checker

Hache un mot de passe avec bcrypt au coût choisi et vérifie un mot de passe contre une empreinte bcrypt existante. Reconnaît argon2 mais ne le calcule pas.

Hache un mot de passe avec bcrypt, ou vérifie un mot de passe contre une empreinte `$2a$`/`$2b$`/`$2y$` existante. L'implémentation est le `$2b$` d'OpenBSD, vérifié contre les vecteurs crypt_blowfish publiés par Openwall, et elle tourne dans un worker de cet onglet.

🔒 Fonctionne entièrement dans votre navigateurbcryptargon2passwordhash
Mode

Traité uniquement dans cet onglet ; rien n’est transmis.

Coût

1 024 tours — la valeur par défaut de longue date.

Ceci est bcrypt tel qu’OpenBSD définit $2b$, vérifié contre les vecteurs de test Openwall crypt_blowfish publiés, et tournant entièrement dans cet onglet. Seuls les 72 premiers octets d’un mot de passe comptent — c’est bcrypt, pas un défaut d’ici. Les hachages $2x$ (produits par un bogue de crypt_blowfish antérieur à 2011) sont refusés, et argon2 n’est pas implémenté.

Comment s’en servir

  1. Choisissez hacher ou vérifier

    Hacher demande un coût ; vérifier lit le coût dans l'empreinte que vous collez, puisqu'il est stocké dans la chaîne.

  2. Choisissez un coût que vous pouvez vous permettre

    Chaque palier double le travail. 10 a été la valeur par défaut pendant des années, 12 est un choix solide aujourd'hui, et 14 prend quelques secondes bien visibles dans un navigateur — ce qui est le but : cela prend aussi longtemps à un attaquant.

  3. Lisez le verdict

    Correspond ou ne correspond pas. Tout se passe dans l'onglet : une empreinte de production collée ici ne voyage nulle part.

Questions fréquentes

Pourquoi argon2 est-il refusé plutôt que pris en charge ?

Parce qu'un argon2 digne de confiance dans un navigateur suppose de livrer une compilation WebAssembly que ce projet ne peut pas auditer ligne à ligne. bcrypt est implémenté ici dans du code que vous pouvez lire, contrôlé contre des vecteurs publiés. Refuser une empreinte argon2 est plus honnête qu'une réponse plausible sortie d'une boîte noire.

Pourquoi mon long mot de passe se vérifie-t-il contre la mauvaise empreinte ?

bcrypt ne lit que les 72 premiers octets. Deux mots de passe qui partagent leurs 72 premiers octets sont pour lui le même mot de passe — c'est bcrypt lui-même, pas cette implémentation. Cela compte pour une phrase secrète, et c'est l'une des raisons pour lesquelles on passe à argon2.

Pourquoi hacher deux fois le même mot de passe donne-t-il des chaînes différentes ?

Parce que chaque exécution engendre un sel neuf de 16 octets, et que le sel voyage à l'intérieur de l'empreinte. Les deux chaînes vérifient le même mot de passe. Une empreinte de mot de passe identique à chaque fois est une empreinte sans sel, c'est-à-dire précisément ce pour quoi les tables arc-en-ciel ont été construites.

`$2a$`, `$2b$` et `$2y$` sont-ils différents ?

Pas pour un mot de passe de 72 octets ou moins, c'est-à-dire pour tous. Les préfixes enregistrent avant ou après quel bug historique une empreinte a été fabriquée. `$2x$` est l'exception — il marque les empreintes produites par un bug de crypt_blowfish antérieur à 2011, et ceux-là sont refusés ici.

À alimenter depuis

Ensuite

Ces outils acceptent ce que celui-ci produit : le résultat peut y aller directement.