Aller au contenu principal
Sécurité & confidentialité

PBKDF2 : dériver et vérifier un mot de passe

Calculez un hash PBKDF2 avec sel aléatoire, SHA-256 ou SHA-512 et le nombre d’itérations recommandé par l’OWASP, au format pbkdf2-sha256$…, puis vérifiez un mot de passe contre cette valeur. Traitement local.

  • Presse-papiers

Intégrer ce widget

Personnalisez le rendu, vérifiez l’aperçu puis copiez le code.

Aperçu

Type de code d’intégration

Code à copier

Responsive et redimensionné automatiquement par Bethemesh.

L’OWASP recommande 600 000 itérations pour SHA-256 et 210 000 pour SHA-512 : plus il y en a, plus chaque essai d’un attaquant coûte cher.

Cet outil vous a-t-il été utile ?

Comment fonctionne cet outil ?

Cet outil dérive un hash PBKDF2 d’un mot de passe avec un sel aléatoire et le nombre d’itérations recommandé, puis vérifie un mot de passe contre une valeur déjà encodée. Il s’adresse aux développeurs qui implémentent ou déboguent un stockage de mots de passe, préparent un compte de test ou veulent comprendre l’effet du sel et des itérations.

PBKDF2, défini par la RFC 8018 (PKCS #5 v2.1), applique une fonction HMAC au mot de passe et au sel, puis réinjecte le résultat dans HMAC des centaines de milliers de fois : chaque tentative d’un attaquant coûte alors autant qu’une connexion légitime. L’outil propose HMAC-SHA-256 avec 600 000 itérations par défaut et HMAC-SHA-512 avec 210 000 itérations, les valeurs minimales de l’OWASP Password Storage Cheat Sheet. Le sel aléatoire (8 à 128 octets, 16 par défaut) rend chaque hash unique même si deux utilisateurs ont le même mot de passe, ce qui neutralise les tables arc-en-ciel. La longueur de clé dérivée va de 16 à 128 octets, 32 par défaut ; à titre de repère, PBKDF2-HMAC-SHA-256 de « password » avec le sel « salt », 1 itération et 32 octets donne 120fb6cffcf8b32c43e7225256c4f837a86548c92ccc35480805987cb70be17b.

Le résultat est encodé sur une ligne : pbkdf2-sha256$600000$<sel>$<hash>, le sel et le hash étant en Base64URL. Cette chaîne contient tout ce qu’il faut pour vérifier plus tard un mot de passe : algorithme, itérations, sel et empreinte attendue. En mode vérification, l’outil lit ces paramètres, recalcule la dérivation avec le mot de passe saisi et compare les deux empreintes en temps constant, pour ne pas révéler par la durée à quel octet elles divergent. Le calcul passe par l’API Web Crypto (deriveBits), si bien que le mot de passe ne quitte jamais votre appareil.

Comment utiliser cet outil ?

  1. Saisissez le mot de passe et les paramètres

    Tapez le mot de passe, choisissez SHA-256 ou SHA-512, puis ajustez si besoin la taille du sel, le nombre d’itérations et la longueur de clé.

  2. Dérivez le hash

    L’outil tire un sel aléatoire, calcule PBKDF2 et affiche la valeur encodée pbkdf2-sha256$itérations$sel$hash, prête à être copiée.

  3. Vérifiez un mot de passe

    Collez une valeur encodée existante et le mot de passe à tester : le résultat indique s’il correspond, avec l’algorithme et les itérations lus dans la valeur.

Cas d'utilisation

Créer le hash d’un compte administrateur de test

Générez une valeur pbkdf2-sha256$… pour insérer directement un utilisateur dans une base de données de développement ou un fichier de seed, sans écrire de script.

Déboguer une connexion qui échoue

Collez le hash stocké en base et le mot de passe supposé : l’outil indique s’ils correspondent, ce qui permet de savoir si le problème vient du mot de passe ou du code de vérification.

Mesurer le coût des itérations

Comparez le temps de calcul avec 210 000 ou 600 000 itérations sur votre machine pour choisir un réglage qui reste confortable à la connexion tout en ralentissant les attaques hors ligne.

Conseils et bonnes pratiques

  • Ne descendez pas sous les itérations recommandées pour gagner quelques millisecondes : 600 000 en SHA-256 et 210 000 en SHA-512 sont des minimums, à relever régulièrement à mesure que le matériel progresse.
  • Inutile de dépasser 32 octets de clé en SHA-256 ou 64 en SHA-512 : au-delà, PBKDF2 calcule un second bloc complet, ce qui double votre coût sans ralentir un attaquant, qui n’a besoin que du premier bloc pour tester un mot de passe.
  • Le format pbkdf2-sha256$… ressemble à ceux de Django, passlib ou Werkzeug sans être identique : les séparateurs et l’encodage du sel et du hash diffèrent, vérifiez donc le format attendu par votre bibliothèque avant d’importer une valeur.

Questions fréquentes

PBKDF2 est-il encore sûr en 2026 ?

Oui, à condition d’utiliser un nombre d’itérations élevé et un sel unique. Sa limite est de ne pas consommer de mémoire, ce qui le rend plus facile à accélérer sur GPU qu’Argon2id ou scrypt. L’OWASP recommande donc Argon2id en premier choix et PBKDF2 surtout lorsqu’une conformité FIPS-140 est exigée.

Quelle différence entre PBKDF2, bcrypt et Argon2 ?

Les trois sont des fonctions lentes conçues pour les mots de passe. PBKDF2 ne règle que le temps de calcul ; bcrypt ajoute un peu de mémoire mais tronque les mots de passe à 72 octets ; Argon2id, vainqueur de la Password Hashing Competition, règle à la fois le temps et la mémoire. PBKDF2 a l’avantage d’être disponible partout, y compris dans Web Crypto et les modules validés FIPS.

Combien d’itérations PBKDF2 faut-il utiliser ?

L’OWASP Password Storage Cheat Sheet recommande au minimum 600 000 itérations pour PBKDF2-HMAC-SHA256 et 210 000 pour PBKDF2-HMAC-SHA512. Le NIST SP 800-63B demande simplement un coût aussi élevé que les performances du serveur le permettent. En pratique, visez un calcul d’environ 100 ms à la connexion sur votre serveur.

Le sel doit-il rester secret ?

Non, le sel est stocké en clair avec le hash, c’est ce que fait la valeur pbkdf2-sha256$… Son rôle est d’être unique et aléatoire pour chaque mot de passe, afin d’empêcher les tables précalculées et de masquer le fait que deux utilisateurs ont le même mot de passe. Un secret supplémentaire conservé hors de la base, appelé poivre, est une protection distincte et optionnelle.

Peut-on retrouver le mot de passe à partir d’un hash PBKDF2 ?

Non, PBKDF2 est à sens unique : on ne peut que deviner des mots de passe et recalculer la dérivation pour chacun. Les itérations rendent chaque essai coûteux, mais un mot de passe courant sera tout de même trouvé rapidement. La robustesse finale dépend donc aussi de la qualité du mot de passe.

Puis-je saisir un vrai mot de passe dans cet outil ?

Le calcul se fait uniquement dans votre navigateur avec Web Crypto : ni le mot de passe ni le hash ne sont envoyés. Par prudence, préférez néanmoins un mot de passe de test lorsque vous générez des exemples ou partagez une capture d’écran.

Outils associés

Des outils similaires ou complémentaires à celui-ci.

Fonctionne bien avec

Générez des mots de passe forts et aléatoires de 8 à 128 caractères, avec l’entropie affichée.

Sécurité & confidentialitéMis en avantUtiliser l’outil

Testez la robustesse d’un mot de passe : entropie, motifs faibles, temps de cassage estimé et conseils.

Sécurité & confidentialitéMis en avantUtiliser l’outil

Vérifiez si deux hash ou sommes de contrôle correspondent, quels que soient la casse, les espaces ou les deux-points.

Sécurité & confidentialitéUtiliser l’outil
GuideBonnes pratiquesIntermédiaire

Chiffrement, hachage et HMAC : comprendre les différences

Distinguez chiffrement, hachage, HMAC et dérivation de clé pour choisir le bon mécanisme selon le besoin : confidentialité, intégrité, authentification ou stockage de mots de passe.

23 septembre 20264 min