PBKDF2 Générateur de Hachage
Outil en ligne gratuit PBKDF2 Générateur de Hachage. Traitement 100% local — vos données ne quittent jamais votre appareil.
Le résultat sera affiché ici...
Entrée → Calculer le hachage
Usage Guide
À propos de PBKDF2
PBKDF2 (Password-Based Key Derivation Function 2) est une fonction de dérivation de clé standardisée dans RFC 8018 (PKCS#5) et NIST SP 800-132. Contrairement à une simple fonction de hachage, PBKDF2 est spécialement conçue pour dériver une clé cryptographique à partir d'un mot de passe en appliquant une fonction pseudo-aléatoire (HMAC-SHA256 ou HMAC-SHA512) des centaines de milliers de fois. Cela rend les attaques par force brute coûteuses en calcul. PBKDF2 est conforme à FIPS 140-2 et largement utilisée dans le chiffrement de disque LUKS, le Wi-Fi WPA2/WPA3, le stockage sécurisé iOS/Android et les gestionnaires de mots de passe.
Étapes d'utilisation
Cet outil prend en charge deux opérations : dériver une clé (mode Chiffrer) et vérifier un mot de passe (mode Déchiffrer) :
Guide des paramètres
PBKDF2 possède quatre paramètres clés qui contrôlent la sécurité et la sortie de la clé dérivée :
PBKDF2 vs. Argon2 / bcrypt
Comprendre quand choisir PBKDF2 plutôt que d'autres algorithmes de hachage de mots de passe :
FAQ
Q: Quel est le format de sortie de PBKDF2 ?
A: Cet outil génère une chaîne hash autonome : {itérations}:{algorithme}:{sel_base64}:{clé_dérivée_hex}.
Par exemple : 600000:sha256:abc123...==:d4e5f6....
Composants :itérations : Nombre de rounds HMAC utilisés (ex. : 600000).algorithme : Fonction de hachage (sha256 ou sha512).sel_base64 : Sel aléatoire encodé en Base64.clé_dérivée_hex : Clé dérivée encodée en hexadécimal.
Pour vérifier, entrez en mode Déchiffrer : motdepasse|{chaîne hash complète}.
Q: Pourquoi PBKDF2 nécessite-t-il 600 000 itérations ?
A: PBKDF2 n'est pas résistant à la mémoire — il peut être parallélisé sur GPU à faible coût. Un GPU moderne peut calculer environ 1 à 2 milliards d'itérations PBKDF2-SHA256 par seconde. Avec 600 000 itérations par hash, cela représente encore ~1 600 tentatives de hash par seconde par GPU. Le nombre élevé d'itérations est le mécanisme de défense principal — il multiplie directement le coût pour l'attaquant. OWASP 2023 fixe 600 000 comme minimum pour SHA-256 ; utilisez 210 000 pour SHA-512. Augmentez ces valeurs avec le temps.
Q: En quoi PBKDF2 diffère-t-il de bcrypt ou Argon2 ?
A: PBKDF2 : Résistant au calcul uniquement, pas à la mémoire. Parallélisable sur GPU. Approuvé FIPS 140-2. Nécessite des itérations très élevées. Idéal pour les environnements réglementés FIPS. bcrypt: Résistant au calcul, ~4Ko de mémoire, résistance GPU modérée. Limite de 72 octets pour les mots de passe. Ne peut pas dériver des clés de longueur arbitraire. Argon2id: Résistant à la mémoire, résistant GPU/ASIC, préférence OWASP moderne. Non approuvé FIPS. Performance à sécurité équivalente : Argon2 est nettement plus rapide que PBKDF2 au même niveau de sécurité effectif grâce à la résistance mémoire.
Q: PBKDF2 est-il conforme à FIPS 140-2 ?
A: Oui. PBKDF2 est explicitement défini dans NIST SP 800-132 et approuvé sous FIPS 140-2. Cela en fait le choix obligatoire pour les agences fédérales américaines, les contractants, les systèmes de santé soumis à HIPAA et les applications financières nécessitant la conformité PCI-DSS. Argon2 et scrypt ne sont pas approuvés FIPS. Si la conformité FIPS est requise, PBKDF2 est actuellement la seule option largement disponible. Vérifiez que votre implémentation PBKDF2 utilise un module cryptographique validé FIPS.
Q: Pourquoi le sel est-il important et doit-il être stocké ?
A: Le sel est une valeur aléatoire ajoutée au mot de passe avant le hachage pour s'assurer que deux mots de passe identiques produisent des clés dérivées différentes. Sans sel, les attaquants peuvent utiliser des tables arc-en-ciel précalculées pour craquer plusieurs hashes simultanément. Le sel n'a pas besoin d'être secret — il doit juste être unique par mot de passe. Le sel est inclus dans la chaîne de sortie et doit être stocké avec la clé dérivée pour reproduire le même hash lors de la vérification. Ne jamais réutiliser des sels entre les mots de passe.
Q: Comment utiliser PBKDF2 pour la dérivation de clés AES ?
A: Définissez la longueur de clé à 32 octets (256 bits) pour dériver directement une clé AES-256. Utilisez 600 000 itérations avec SHA-256. Stockez le sel avec vos données chiffrées. Lors du déchiffrement, redérivez la clé avec le même mot de passe, sel, itérations et algorithme, puis utilisez-la pour déchiffrer avec AES-256-GCM. C'est exactement ainsi que fonctionnent le chiffrement de disque LUKS, la protection des données iOS et de nombreux gestionnaires de mots de passe. La clé dérivée est déterministe — les mêmes entrées produisent toujours la même clé.
Use Cases
Recommandé : Stockage de mots de passe conforme FIPS
Les organisations soumises à FIPS 140-2, NIST SP 800-131A, HIPAA ou PCI-DSS doivent utiliser des algorithmes cryptographiques approuvés. PBKDF2 avec HMAC-SHA256 ou HMAC-SHA512 est la seule KDF de mots de passe largement disponible répondant à ces exigences. Utilisez au moins 600 000 itérations pour SHA-256 et stockez la chaîne de sortie complète. C'est la raison principale de choisir PBKDF2 plutôt qu' Argon2id dans les environnements réglementés.
- ✅ PBKDF2-HMAC-SHA256 (≥600 000 itérations) — conforme FIPS
- ✅ PBKDF2-HMAC-SHA512 (≥210 000 itérations) — conforme FIPS
- ❌ Argon2 / scrypt — non approuvés FIPS 140-2
- ❌ bcrypt — non approuvé FIPS 140-2
Recommandé : Dérivation de clés pour chiffrement de disque (LUKS)
LUKS (Linux Unified Key Setup) utilise PBKDF2 par défaut (LUKS1) et PBKDF2/Argon2 (LUKS2) pour dériver la clé de chiffrement du volume depuis une phrase secrète. PBKDF2 dérive une clé de longueur fixe (32 octets pour AES-256) depuis le mot de passe de l'utilisateur, utilisée ensuite pour chiffrer la clé maîtresse stockée dans l'en-tête LUKS. La sécurité Wi-Fi WPA2/WPA3 utilise également PBKDF2 pour dériver la Clé Maîtresse de Paire (PMK) depuis le mot de passe Wi-Fi.
- ✅ PBKDF2-HMAC-SHA512 (standard LUKS1)
- ✅ Argon2id (préféré LUKS2 — meilleure résistance mémoire)
- 💡 Configurer suffisamment d'itérations pour que la dérivation prenne 0,5–2 secondes sur le matériel cible
- 💡 Stocker le sel dans les métadonnées du disque/en-tête, jamais séparément
Acceptable : Vérification de mots de passe dans les systèmes legacy
De nombreux systèmes existants (anciennes versions de Django, .NET Membership, Java PBKDF2WithHmacSHA1) stockent déjà des hashes PBKDF2. Continuez d'utiliser PBKDF2 pour ces systèmes et augmentez progressivement le nombre d'itérations avec l'amélioration du matériel. Utilisez le nombre d'itérations stocké pour la vérification (intégré dans la chaîne hash) et mettez à jour vers les recommandations OWASP actuelles pour les nouvelles inscriptions et changements de mot de passe. Cela évite les réinitialisations forcées tout en améliorant la sécurité au fil du temps.
- ✅ PBKDF2 (conserver pour les hashes existants — aucune migration requise)
- ✅ Augmenter les itérations pour les nouveaux hashes au minimum OWASP actuel
- 💡 Mettre à jour transparentement le nombre d'itérations à la prochaine connexion
- 💡 Envisager de migrer vers Argon2id pour les nouveaux projets sans exigence FIPS
Acceptable : Dériver plusieurs clés depuis un mot de passe
PBKDF2 peut dériver des clés de longueur arbitraire, ce qui le rend utile quand plusieurs clés sont nécessaires depuis un mot de passe maître (ex. : une clé pour le chiffrement, une autre pour l'authentification MAC). Utilisez des sels différents ou des suffixes d'index pour dériver des clés indépendantes. Définissez la longueur de clé à 64 octets et divisez la sortie en deux clés de 32 octets, ou exécutez PBKDF2 deux fois avec des sels différents. Ce schéma est utilisé dans certaines architectures de gestionnaires de mots de passe.
- ✅ Utiliser des sels différents par objectif de clé dérivée
- ✅ Utiliser HKDF pour l'expansion de clé après la dérivation PBKDF2 initiale
- ❌ Ne jamais réutiliser le même sel pour différents usages de clé
- 💡 Combiner avec AES-256-GCM pour un chiffrement authentifié
Non recommandé : Remplacer Argon2 dans les nouveaux projets
Si vous démarrez un nouveau projet sans exigences FIPS, PBKDF2 est le choix plus faible comparé à Argon2id. PBKDF2 n'est pas résistant à la mémoire, ce qui signifie que les GPU peuvent paralléliser les attaques économiquement. Même avec 600 000 itérations, un GPU haut de gamme peut tenter des milliers de suppositions PBKDF2 par seconde. Argon2id avec les paramètres par défaut (47Mo de mémoire, 1 itération) atteint un temps d'exécution comparable tout en empêchant totalement la parallélisation GPU grâce à l'exigence de mémoire.
- ❌ Éviter PBKDF2 pour les nouveaux projets quand Argon2id est disponible
- ✅ Argon2id (résistant à la mémoire, préférence OWASP)
- ✅ scrypt (résistant à la mémoire, largement disponible)
- 💡 PBKDF2 n'est préféré que lorsque la conformité FIPS est obligatoire
Non recommandé : Hachage de données général
PBKDF2 est une fonction de dérivation de clé, pas une fonction de hachage général. Elle est intentionnellement lente et ne doit jamais être utilisée pour hacher des contenus de fichiers, des sommes de contrôle, l'authentification de messages ou la déduplication. Pour l'intégrité des données, utilisez SHA-256 ou SHA-512. Pour l'authentification de messages, utilisez HMAC-SHA256. Utiliser la sortie PBKDF2 comme hash général gaspillerait des cycles CPU significatifs sans aucun bénéfice de sécurité.
- ❌ Ne pas utiliser PBKDF2 pour les sommes de contrôle ou l'intégrité des données
- ❌ Ne pas utiliser PBKDF2 pour l'authentification de messages (utiliser HMAC-SHA256)
- ✅ SHA-256 / SHA-512 pour le hachage de données général
- ✅ HMAC-SHA256 pour l'intégrité de messages authentifiée
Résumé des meilleures pratiques
- Utilisez PBKDF2-HMAC-SHA256 (≥600 000 itérations) ou HMAC-SHA512 (≥210 000) pour les environnements conformes FIPS. Stockez la chaîne hash complète incluant les itérations, l'algorithme et le sel.
- Pour les nouveaux projets sans exigences FIPS, préférez Argon2id — il est résistant à la mémoire et significativement plus résistant aux attaques GPU avec des performances comparables.
- Utilisez toujours un sel aléatoire unique par mot de passe (généré automatiquement par cet outil). Ne jamais réutiliser des sels ni les coder en dur dans le code de l'application.
- Augmentez les nombres d'itérations avec le temps à mesure que le matériel s'améliore. Le nombre d'itérations est stocké dans la chaîne hash, donc les anciennes et nouvelles valeurs peuvent coexister.
- Utilisez PBKDF2 uniquement lors de la connexion ou de la configuration des clés — jamais à chaque requête. Émettez des tokens (JWT, session) après l'authentification pour les opérations à haute fréquence.