Générateur de tokens et de clés API
Des tokens cryptographiquement sûrs grâce à la Web Crypto API. UUID, hex, tokens Base64 au porteur ou clés API préfixées.
Un identifiant RFC 4122 v4 de 128 bits, dont 122 aléatoires. Le choix par défaut pour les clés primaires de base de données, les ID de requête et les tokens de corrélation.
122 bits d'entropie · généré dans ton navigateur, jamais envoyé à un serveur
Pourquoi pas Math.random() ?
Math.random() est un générateur de nombres pseudo-aléatoires — sa sortie est prévisible et inadaptée aux tokens de sécurité. Cet outil utilise crypto.getRandomValues(), la même API qui alimente la génération des clés TLS et SSH.
Les types de tokens expliqués
UUID v4 est le standard pour les ID de base de données et les tokens de corrélation. Les chaînes hex conviennent bien aux tokens de session et aux nonces. Base64 est compact pour les tokens API. Les clés API avec préfixes (comme sk_ ou vlt_) facilitent l'identification et la rotation des identifiants divulgués.
Quelle longueur pour un token ?
128 bits d'entropie, c'est le plancher pour tout ce qui protège un accès, et c'est ce que le NIST SP 800-63B attend d'un secret généré aléatoirement. Cela fait 32 caractères hex, 22 caractères Base64, ou un UUID v4. Dépasser 256 bits n'apporte rien face au brute force - cela ne coûte que du volume de logs et de la taille d'en-tête. La longueur compte plus que l'alphabet : un token hex de 32 caractères et un token Base64 de 22 caractères sont aussi difficiles à deviner l'un que l'autre.
Tokens au porteur, tokens d'accès et clés API
Ces noms décrivent l'usage d'un identifiant, pas sa génération. Un token au porteur donne accès du seul fait d'être présenté, ce qui explique que l'en-tête HTTP Authorization le transporte tel quel. Un token d'accès est un token au porteur à durée de vie courte, généralement émis par un flux OAuth. Une clé API est un token au porteur à durée de vie longue émis pour un service et non pour une personne. Au moment de la génération, les trois sont la même chose : une chaîne aléatoire opaque à forte entropie. Utilise hex ou Base64 pour les deux premiers, et le mode clé API quand tu veux un préfixe détectable.
Pourquoi préfixer ses clés API ?
GitHub, Stripe, OpenAI et Slack préfixent tous leurs clés (ghp_, sk_live_, xoxb_) pour une raison : les scanners de secrets reconnaissent alors une clé divulguée à la seule vue de la chaîne, sans aucun contexte. Pousse une clé préfixée dans un dépôt public et l'émetteur peut la révoquer en quelques minutes. Une simple chaîne hex de 32 caractères ressemble à un hash de commit, donc rien ne la repère. Les préfixes rendent aussi l'environnement évident d'un coup d'œil, la défense la moins coûteuse contre le collage d'une clé de production dans une configuration de staging.
Questions fréquentes
Ces tokens sont-ils vraiment aléatoires ?
Oui. Chaque token vient de crypto.getRandomValues(), le générateur de nombres aléatoires cryptographiquement sûr du navigateur, alimenté par le pool d'entropie du système d'exploitation. C'est la même primitive qui génère les clés de session TLS. Math.random(), que beaucoup de générateurs en ligne utilisent encore, est un générateur pseudo-aléatoire prévisible et ne doit jamais produire un token de sécurité.
Mon token est-il envoyé à votre serveur ?
Non. La génération se fait entièrement dans ton navigateur via la Web Crypto API. Ouvre l'onglet réseau et génère un token : aucune requête n'est émise. Rien n'est journalisé, stocké ni transmis. Si tu choisis ensuite de partager le token, il est chiffré dans ton navigateur avant que quoi que ce soit ne quitte la page.
Quelle longueur utiliser pour une clé API ?
128 bits d'entropie, ce que produit exactement le mode clé API de cet outil : ton préfixe plus 32 caractères hexadécimaux. C'est indevinable en pratique et cela correspond à ce qu'émettent Stripe, GitHub et AWS. Ne monte au-delà que si une exigence de conformité précise te le demande.
Quelle différence entre un UUID v4 et un token hex aléatoire ?
Un UUID v4 est un token aléatoire de forme fixe : 36 caractères, quatre tirets, et six bits réservés à la version et à la variante, ce qui laisse 122 bits aléatoires. Utilise-le quand quelque chose attend cette forme, comme une colonne uuid en base de données. Prends du hex ou du Base64 quand tu as juste besoin d'un secret et que le format t'appartient - c'est plus court à force égale.
Puis-je générer plusieurs tokens d'un coup ?
Oui. Mets le nombre à 5, 10 ou 25 et chaque token est généré indépendamment. Tout copier les copie un par ligne, le format que la plupart des scripts de seed, fichiers .env et gestionnaires de mots de passe acceptent pour un import en masse.
Comment envoyer un token à un collègue en toute sécurité ?
Ni par Slack, ni par e-mail, ni dans un ticket - ces canaux en gardent une copie indéfiniment, donc quiconque y accède plus tard accède aussi à l'identifiant. Utilise Partager en toute sécurité pour placer le token derrière un lien chiffré et autodestructeur : il est chiffré dans ton navigateur, la clé voyage dans le fragment de l'URL et n'atteint jamais notre serveur, et le secret est détruit dès sa lecture ou à son expiration.
Besoin de partager un token en toute sécurité ?
Ne colle pas tes tokens dans Slack ou par e-mail. Envoie-les via un lien chiffré et autodestructeur que seul le destinataire peut ouvrir.