Aller au contenu

Générateur de clé aléatoire

Random Key Generator

Produit des octets aléatoires cryptographiques en hexadécimal, en Base64 ou en Base64URL à la longueur voulue, pour les secrets d’une application.

Une `SECRET_KEY` ou une clé de signature JWT doit être des octets aléatoires d’une longueur donnée dans un encodage donné, et les improvisations habituelles — un clavier tapoté, un UUID, une empreinte du nom du projet — ont toutes moins d’entropie qu’il n’y paraît. Ceci produit les octets et les encode.

🔒 Fonctionne entièrement dans votre navigateurrandomkeysecretgenerator

Secret aléatoire

ILUI05ktKf-4RMtwW64gu1MCVaMIR6VmxBfVgLAjaFc
Sous forme de JWK (oct)
{
  "kty": "oct",
  "k": "ILUI05ktKf-4RMtwW64gu1MCVaMIR6VmxBfVgLAjaFc",
  "ext": true
}

Clé WebCrypto

Une vraie CryptoKey, exportée en JWK : utilisable telle quelle avec crypto.subtle.

Chaque octet vient de crypto.getRandomValues et reste dans cet onglet. Rien n’est généré sur un serveur, ni envoyé à un serveur.

Comment s’en servir

  1. Choisissez la longueur en octets

    32 octets (256 bits) couvrent presque tout : HMAC-SHA256, AES-256, clés de session. Plus long n’est pas plus fort pour ces usages ; c’est l’algorithme qui définit la taille utile.

  2. Choisissez l’encodage que la configuration attend

    L’hexadécimal est sans ambiguïté et deux fois plus long. Le Base64URL évite `+`, `/` et `=`, ce que vous voulez dans une URL, un en-tête ou un fichier `.env` que quelque chose d’autre analysera.

  3. Mettez-la dans le coffre à secrets, pas dans le dépôt

    Une clé validée une fois est une clé qu’il faut faire tourner, si vite que le commit ait été annulé. Générez-en une différente par environnement.

Questions fréquentes

D’où vient l’aléa ?

De `crypto.getRandomValues`, le générateur pseudo-aléatoire cryptographique du navigateur, alimenté par le système d’exploitation. Rien n’est transmis et rien n’est conservé.

Une clé générée dans un navigateur vaut-elle une clé issue d’`openssl rand` ?

L’aléa est de la même qualité : les deux puisent dans le système d’exploitation. La différence est l’endroit où la clé est affichée : sur un écran, éventuellement dans un navigateur qui synchronise, éventuellement avec une extension qui observe le DOM. Sur une machine que vous ne maîtrisez pas, employez la ligne de commande.

Puis-je m’en servir pour un UUID ?

Servez-vous plutôt du générateur d’UUID : un UUIDv4 a une disposition fixe avec six bits dépensés en version et en variante, donc une chaîne aléatoire brute n’en est pas un valide.

À alimenter depuis

Ensuite

Ces outils acceptent ce que celui-ci produit : le résultat peut y aller directement.