Dérivation de clés PBKDF2 et HKDF
Dérivez une clé à partir d’un mot de passe ou d’un secret avec PBKDF2 ou HKDF, en choisissant le sel, le nombre d’itérations ou l’étiquette info, le hachage et la longueur de sortie, et relisez-la en hexadécimal ou base64, entièrement dans votre navigateur.
Dérivation de clés PBKDF2 et HKDF — Étirez un mot de passe en clé PBKDF2, ou développez un secret à haute entropie en sous-clés nommées avec HKDF, sans que rien ne quitte votre machine. Choisissez le hachage, définissez le sel et le nombre d’itérations (PBKDF2) ou l’étiquette info (HKDF), indiquez combien de bits de sortie vous voulez, et copiez la clé dérivée en hexadécimal ou base64. Chaque octet est calculé localement avec l’API Web Crypto native (crypto.subtle.deriveBits), de sorte que votre mot de passe et votre secret ne touchent jamais un serveur.
Qu'est-ce que Dérivation de clés PBKDF2 et HKDF ?
La Dérivation de clés PBKDF2 et HKDF est un outil gratuit dans le navigateur qui exécute les deux fonctions de dérivation de clés les plus utilisées par les développeurs. PBKDF2 (Password-Based Key Derivation Function 2) ralentit délibérément la force brute en répétant un HMAC des milliers de fois, transformant un mot de passe humain plus un sel en une clé de longueur fixe. HKDF (HMAC-based Key Derivation Function) prend un secret qui a déjà assez d’entropie et le développe en une ou plusieurs sous-clés liées à un contexte à l’aide d’une étiquette info, idéal pour dériver des clés de chiffrement et d’authentification distinctes à partir d’un unique secret maître. Les ingénieurs backend, les relecteurs de sécurité et quiconque écrit du code de connexion ou de chiffrement l’utilisent pour tester des vecteurs, reproduire la dérivation d’un serveur ou générer des clés pour une tâche ponctuelle. Utilisez le commutateur PBKDF2/HKDF pour changer d’algorithme, choisissez SHA-256, SHA-384, SHA-512 ou SHA-1, définissez la longueur de sortie en bits et lisez le résultat en hexadécimal ou base64.
Comment utiliser Dérivation de clés PBKDF2 et HKDF
- Choisissez PBKDF2 ou HKDF avec le commutateur en haut, selon la fonction que votre code ou votre vecteur de test utilise.
- Saisissez ou collez votre mot de passe (PBKDF2) ou votre secret à haute entropie (HKDF) dans le champ Secret, puis entrez un sel.
- Pour PBKDF2, définissez le nombre d’itérations ; pour HKDF, définissez l’étiquette info facultative qui lie la clé à un contexte.
- Choisissez le hachage (SHA-256, SHA-384, SHA-512 ou SHA-1) et la longueur de sortie en bits.
- Réglez le commutateur hexadécimal / base64 sur l’encodage souhaité et copiez la clé dérivée avec le bouton de copie.
Exemples
PBKDF2 — clé de 256 bits à partir d’un mot de passe
Entrée
Secret : correct horse battery staple Sel : a1b2c3d4 Hachage : SHA-256, Itérations : 100000, Bits : 256
Sortie
une chaîne hexadécimale de 64 caractères (32 octets) reproductible avec les mêmes mot de passe, sel, hachage et nombre d’itérations
HKDF — sous-clé liée au contexte à partir d’un secret maître
Entrée
Secret : 9f8e7d6c…(clé maître) Sel : session-2024 Info : aes-gcm-encryption Hachage : SHA-256, Bits : 256
Sortie
une clé de 256 bits différente de celle obtenue avec le même secret et Info: hmac-authentication, de sorte qu’un maître produit des sous-clés indépendantes
Sortie plus courte en base64
Entrée
Bits : 128, encodage basculé sur base64
Sortie
une chaîne base64 de 24 caractères encodant les 16 premiers octets dérivés
Questions fréquentes
- Mon mot de passe ou mon secret est-il envoyé quelque part ?
- Non. Le Secret, le sel et l’info restent dans votre navigateur. La clé est dérivée localement avec l’API Web Crypto (crypto.subtle.deriveBits), et rien n’est téléversé vers un serveur ni stocké dessus, de sorte que l’outil fonctionne hors ligne et que vos données ne quittent jamais la page.
- Quand utiliser PBKDF2 plutôt que HKDF ?
- Utilisez PBKDF2 pour dériver une clé à partir d’un mot de passe humain à faible entropie : son nombre d’itérations ralentit la force brute. Utilisez HKDF quand vous disposez déjà d’un secret à haute entropie (une clé maître ou un secret partagé) et que vous voulez le développer en une ou plusieurs sous-clés distinctes via l’étiquette info. HKDF est rapide et ne remplace pas l’étirement de mot de passe de PBKDF2.
- Pourquoi ma longueur de sortie est-elle arrondie ?
- Le deriveBits de Web Crypto travaille en octets entiers, donc la longueur de sortie en bits est arrondie au multiple de 8 le plus proche. La statistique sous le résultat indique les bits et octets réellement produits.
- Quels hachages et algorithmes sont pris en charge ?
- Les deux algorithmes fonctionnent avec SHA-256, SHA-384, SHA-512 ou SHA-1, les hachages que la Web Crypto du navigateur expose pour PBKDF2 et HKDF. Scrypt, Argon2 et bcrypt ne sont pas proposés car les navigateurs ne les implémentent pas nativement.
- Les mêmes entrées donneront-elles toujours la même clé ?
- Oui. La dérivation de clés est déterministe : les mêmes algorithme, secret, sel, hachage, longueur de sortie et nombre d’itérations (PBKDF2) ou info (HKDF) produisent toujours les mêmes octets, ce qui vous permet de reproduire ou de vérifier une clé dérivée par votre serveur.
Outils connexes
Chiffrement de texte AES (AES-GCM + PBKDF2)
Chiffrez et déchiffrez du texte avec AES-256-GCM à l'aide d'une clé dérivée d'une phrase secrète (PBKDF2 SHA-256, sel aléatoire), entièrement dans votre navigateur, sans aucun envoi.
Hachage Argon2 et scrypt
Hachez un mot de passe avec Argon2id ou scrypt et vérifiez un hachage Argon2 par rapport à un mot de passe, entièrement dans votre navigateur.
Générateur et vérificateur de hachage Bcrypt
Génère un hachage de mot de passe bcrypt à partir d'un texte clair avec le facteur de coût de ton choix, ou vérifie un mot de passe par rapport à un hachage bcrypt existant, entièrement dans ton navigateur.
Générateur de mnémonique BIP39
Générez une phrase de récupération BIP39 aléatoire de 12 à 24 mots dans plusieurs langues, ou reconvertissez une mnémonique existante en son entropie brute, le tout dans votre navigateur.