Générateur de clés secrètes

Générez des clés secrètes pour JWT HS256/HS512, AES-128/256, Laravel APP_KEY, Rails secret_key_base, Django SECRET_KEY et cookies de session avec un aléa sûr.

Sortie

256 bits d’entropie · 43 caractères par valeur

Généré localement avec crypto.getRandomValues ; rien n’est envoyé ni stocké. Conservez vos secrets dans des variables d’environnement ou un gestionnaire de secrets, jamais dans le code source.

Qu'est-ce que Générateur de clés secrètes ?

Les frameworks et bibliothèques ont besoin de clés secrètes aléatoires dans un format précis : une chaîne Base64url de 256 bits pour JWT HS256, 32 octets hex pour AES-256, base64: + 32 octets pour l'APP_KEY de Laravel, 128 caractères hex pour la secret_key_base de Rails, 50 caractères pour la SECRET_KEY de Django. Choisissez l'Usage et l'outil génère une clé de la bonne longueur et du bon encodage, ou personnalisez vous-même le format.

Comment utiliser Générateur de clés secrètes

  1. Choisissez un Usage comme Secret JWT HS256 (256 bits, Base64url) ou Laravel APP_KEY.
  2. Ajustez le Format et les Octets aléatoires / la Longueur (caractères) si nécessaire (cela bascule sur Personnalisé).
  3. Cliquez sur Régénérer jusqu'à obtenir la clé, puis copiez-la dans vos variables d'environnement.

Exemple

Entrée
Purpose: JWT HS256 secret (256 bits, Base64url)
Sortie
-IXerdjEBBrFmWvMzQ0izB3-w1aweuEukH9SlJBWmwE

256 bits d'entropie. Aléatoire — votre clé sera différente.

Quand utiliser Générateur de clés secrètes

Utilisez-le lors de la mise en place d'un nouvel environnement, du renouvellement d'une clé divulguée ou de la configuration d'une signature JWT. Pour une signature asymétrique (RS256, ES256), il vous faut une paire de clés, pas un secret partagé. Ne versionnez jamais les clés dans Git ; placez-les dans des variables d'environnement ou un gestionnaire de secrets.

Comment fonctionne Générateur de clés secrètes

Toutes les clés proviennent de crypto.getRandomValues. Les préréglages à base d'octets tirent exactement le nombre d'octets dont l'algorithme a besoin (16 pour AES-128, 32 pour AES-256 et HS256, 64 pour HS512 et Rails) et les encodent en hex, Base64 ou Base64url. La clé Django compte 50 caractères choisis uniformément parmi lettres et chiffres (environ 298 bits). La ligne d'entropie indique la force en bits et avertit en dessous de 128 bits.

Cas d'utilisation courants

  • Définir APP_KEY pour un nouveau déploiement Laravel
  • Créer un secret de signature JWT HS256
  • Générer une clé AES-256 pour chiffrer des données au repos
  • Renouveler les secrets Django ou Rails après une fuite

Note de Sécurité

Générée localement et jamais envoyée. Toute personne qui possède la clé peut falsifier des jetons ou déchiffrer des données : stockez-la uniquement dans des variables d'environnement ou un gestionnaire de secrets.

Questions Fréquentes

Quelle longueur pour un secret JWT HS256 ?

Au moins 256 bits (32 octets), la taille de la sortie SHA-256, comme le recommande la RFC 7518. HS512 doit utiliser 512 bits.

Est-ce la même chose que php artisan key:generate ?

Oui pour le format : la commande de Laravel crée aussi 32 octets aléatoires, les encode en Base64 et ajoute le préfixe base64:.

Que se passe-t-il si je change la clé d'une application en production ?

Les sessions existantes, cookies signés, jetons et tout ce qui a été chiffré avec l'ancienne clé deviennent invalides ou illisibles. Planifiez soigneusement les rotations.

Explorer d'autres catégories