Générateur PBKDF2
Dérivez une clé cryptographique avec PBKDF2 (mot de passe, sel, itérations). Hex ou Base64. Option vérification. Tout est calculé dans le navigateur.
Soutenez le projet
J’ai choisi de limiter les publicités pour garder l’expérience simple et agréable. Si cet outil vous a été utile, vous pouvez m’aider à le faire vivre — chaque geste compte pour un développeur solo.
Description
Le générateur PBKDF2 permet de dériver une clé cryptographique à partir d’un mot de passe, d’un sel et d’un nombre d’itérations, en utilisant la fonction PBKDF2 (Password-Based Key Derivation Function 2). Tout est effectué dans votre navigateur : aucun mot de passe ni sel n’est envoyé sur un serveur. PBKDF2 est une dérivation de clé, pas un chiffrement : elle produit une clé dérivée (hex ou Base64) que vous pouvez utiliser pour chiffrer des données ou dans des protocoles. L’outil propose un mode vérification pour re-dériver et comparer une clé attendue.
Comment faire
- Choisissez le mode Dériver une clé ou Vérifier.
- En mode Dériver : saisissez le mot de passe (champ masqué par défaut), le sel (UTF-8, hex ou Base64), ou cliquez sur « Sel aléatoire » pour en générer un. Ajustez le nombre d’itérations (recommandé : 100 000 à 300 000), l’algorithme de hash (SHA-256 par défaut), la longueur de clé en octets (32 par défaut) et le format de sortie (hex ou Base64). Cliquez sur « Dériver la clé ». La clé s’affiche ; vous pouvez la copier.
- En mode Vérifier : saisissez les mêmes paramètres (mot de passe, sel, itérations, algorithme, longueur) et collez la clé dérivée attendue. Cliquez sur « Vérifier ». Le résultat indique si la clé correspond ou non.
- Consultez le bloc résultat et l’encadré d’information sous le résultat (rôle du sel, des itérations, recommandation Argon2 pour les mots de passe).
Exemples
- Mot de passe « password », sel « salt », 1 itération, SHA-256, 20 octets : la clé dérivée en hex commence par
120fb6cffcf8b32c43e7225256c4f837a86548c9(vecteur de test RFC 6070). - Même mot de passe, même sel, mêmes paramètres : la clé dérivée est toujours identique (déterministe).
- En mode Vérifier : si vous avez dérivé une clé avec des paramètres donnés, collez cette clé et les mêmes paramètres pour obtenir « La clé dérivée correspond ».
Cas d’usage
- Dérivation de clé pour chiffrement : produire une clé symétrique à partir d’un mot de passe (par ex. pour AES) avec un sel et des itérations configurés.
- Vérification de configuration : en mode Vérifier, confirmer qu’un mot de passe et des paramètres produisent bien une clé attendue (tests, migration, debug).
- Protocoles et legacy : WPA2, certains stockages de mots de passe ou systèmes existants utilisent PBKDF2 ; l’outil permet de générer ou vérifier des clés compatibles.
- Prototypes et démos : obtenir une clé dérivée sans installer d’outil en ligne de commande.
Limites
- PBKDF2 ne chiffre pas les données : il dérive une clé. Pour le stockage de mots de passe en production, Argon2id ou bcrypt sont recommandés.
- Un nombre d’itérations très élevé (par ex. 500 000+) peut ralentir ou bloquer le navigateur ; l’interface signale un avertissement.
- Le sel doit être fourni par l’utilisateur (ou généré via « Sel aléatoire »). Un sel vide ou très court est déconseillé ; l’outil affiche un avertissement.
Bonnes pratiques
- Utilisez un sel unique par mot de passe ou par dérivation (au moins 8 octets, idéalement 16 octets aléatoires). Ne réutilisez pas le même sel pour des mots de passe différents.
- Choisissez un nombre d’itérations suffisant : 100 000 à 300 000 pour SHA-256 est un bon compromis sécurité/performance. Évitez les valeurs trop faibles (moins de 10 000).
- Pour la dérivation de clé (chiffrement), 32 octets (256 bits) sont adaptés pour AES-256. Pour la compatibilité avec des systèmes existants, respectez la longueur attendue.
- Pour le stockage de mots de passe en nouvelle application, privilégiez Argon2id ou bcrypt plutôt que PBKDF2 seul.
Importance du sel et des itérations
- Sel : il rend chaque dérivation unique. Sans sel (ou avec un sel identique partout), deux utilisateurs avec le même mot de passe auraient la même clé ; un attaquant pourrait précalculer des tables. Un sel aléatoire et long (16 octets en hex ou Base64) est recommandé.
- Itérations : elles ralentissent les attaques par force brute. Plus le nombre est élevé, plus la dérivation est coûteuse pour l’attaquant comme pour l’utilisateur. 100 000 à 300 000 est un ordre de grandeur adapté pour SHA-256 sur du matériel actuel.
Alternatives et recommandations
- Argon2id : algorithme recommandé pour le hachage de mots de passe (PHC) ; utilise mémoire et CPU, plus résistant aux attaques matérielles.
- bcrypt : conçu pour les mots de passe, avec sel et facteur de coût intégrés ; très répandu.
- scrypt : autre fonction de dérivation avec coût mémoire. PBKDF2 reste pertinent pour la dérivation de clé (protocoles, chiffrement) et les environnements legacy.
Sécurité et confidentialité
- Aucune donnée envoyée : la dérivation et la vérification sont effectuées entièrement dans votre navigateur ; vos mots de passe et sels ne quittent pas votre appareil.
- PBKDF2 est un standard (RFC 2898) ; l’outil utilise l’API Web Crypto du navigateur. Pour des usages sensibles en production, utilisez des bibliothèques éprouvées et des paramètres adaptés à votre contexte.
FAQ
Le mot de passe est-il envoyé sur un serveur ?
Non. Tout le calcul (dérivation et vérification) est effectué dans votre navigateur. Aucun mot de passe, sel ni clé n’est transmis à un serveur.
Pourquoi le même mot de passe et le même sel donnent-ils toujours la même clé ?
PBKDF2 est déterministe : pour un même mot de passe, sel, nombre d’itérations et algorithme, la clé dérivée est toujours la même. C’est voulu pour pouvoir vérifier une clé ou reproduire une dérivation. La variabilité vient du sel : en utilisant un sel différent à chaque fois, vous obtenez une clé différente.
Quel nombre d’itérations choisir ?
Un ordre de grandeur 100 000 à 300 000 pour SHA-256 est recommandé pour un bon compromis. En dessous de 10 000, c’est considéré comme faible ; au-delà de 500 000, le temps de calcul peut devenir gênant dans un navigateur. Adaptez selon votre usage (dérivation de clé vs stockage de mots de passe).
PBKDF2 peut-il servir à stocker des mots de passe ?
Oui, historiquement PBKDF2 est utilisé pour le stockage de mots de passe (avec sel et itérations). Pour les nouvelles applications, les recommandations actuelles privilégient Argon2id ou bcrypt, qui offrent une meilleure résistance aux attaques. PBKDF2 reste valable pour la dérivation de clé (chiffrement, protocoles) et les systèmes existants.
Quelle est la différence entre hex et Base64 pour la clé ?
Les deux représentent la même clé dérivée (octets) : hex est en base 16 (caractères 0-9, a-f), Base64 est plus compact. Choisissez le format attendu par votre système ou votre protocole. En mode Vérifier, indiquez la clé dans le même format (hex ou Base64) que celui utilisé pour la dérivation.
Que faire si « La clé dérivée ne correspond pas » en mode Vérifier ?
Vérifiez que les paramètres sont identiques : mot de passe (attention aux espaces, encodage UTF-8), sel (et encodage du sel : UTF-8, hex ou Base64), nombre d’itérations, algorithme de hash, longueur de clé. Une différence sur l’un de ces paramètres donne une clé différente. Vérifiez aussi que la clé attendue est bien en hex ou Base64 selon le format choisi.
Pourquoi un avertissement pour SHA-1 ?
SHA-1 est considéré comme affaibli pour la signature cryptographique ; il reste encore utilisé dans certains protocoles (ex. PBKDF2 avec HMAC-SHA1). Pour de nouvelles dérivations, SHA-256 ou SHA-512 sont recommandés.
Une suggestion ou une demande d'outil ?
Vous avez repéré une erreur, vous souhaitez un nouvel outil ou vous avez un retour à partager ? Contactez-moi par email, je serais ravi d'échanger avec vous.