Aller au contenu

Générateur de JWT (HS256, HS384, HS512)

Créez un JSON Web Token signé HS256, HS384 ou HS512 avec votre clé secrète, des dates iat et exp automatiques. La signature est faite dans votre navigateur.

  • Gratuit
  • Sans inscription
  • Aucun fichier envoyé
  • Windows, Mac, Android, iPhone

Chargement de l'outil…

À propos de cet outil

Écrivez le contenu du jeton en JSON, choisissez l'algorithme et la clé secrète : le JWT signé apparaît aussitôt, avec la date d'émission et une expiration calculées pour vous. Pratique pour tester une API protégée, sans installer de bibliothèque ni confier votre clé à un site.

Dans quels cas l'utiliser ?

Tester une API protégée

Votre API vérifie des jetons HS256 ? Générez un jeton avec la même clé que l'environnement de développement, le sub et les rôles voulus, puis envoyez-le dans l'en-tête Authorization: Bearer depuis Postman, curl ou votre navigateur.

Reproduire un cas limite

Un jeton expiré, un rôle absent, une audience inattendue : modifiez le contenu et la durée pour vérifier que votre serveur refuse bien ce qu'il doit refuser.

Apprendre comment fonctionne un JWT

Voir l'en-tête, le contenu et la signature changer en direct, en couleurs, aide à comprendre qu'un JWT est seulement encodé et signé, pas chiffré.

Mode d'emploi

  1. Choisissez l'algorithme et écrivez le contenu JSON.
  2. Saisissez ou générez une clé secrète.
  3. Copiez le jeton signé.

Comment ça marche

L'en-tête (champs alg et typ) et le contenu sont convertis en JSON puis encodés en Base64URL. La signature est un HMAC calculé sur « en-tête.contenu » avec la clé secrète et la fonction de hachage de l'algorithme choisi (SHA-256, SHA-384 ou SHA-512), grâce à Web Crypto, l'implémentation native du navigateur.

Si vous indiquez une durée (15m, 1h, 7d), le champ exp est ajouté avec la date d'expiration en secondes Unix ; iat reçoit la date actuelle. Le jeton obtenu est identique à celui que produiraient jsonwebtoken (Node.js), PyJWT ou firebase/php-jwt avec la même clé.

Conseils pour un bon résultat

  • Utilisez une clé aléatoire d'au moins 32 octets pour HS256 : le bouton « Générer une clé » en crée une.
  • Ne mettez jamais de mot de passe ou de donnée sensible dans le contenu : il est lisible par tous.
  • N'utilisez pas la clé de production pour des tests : générez une clé propre à chaque environnement.
  • Gardez des durées courtes pour les jetons d'accès (5 à 15 minutes) et des jetons de rafraîchissement pour prolonger.
  • Pour signer avec une clé privée (RS256, ES256), utilisez une bibliothèque côté serveur : la clé privée ne doit pas circuler.

Problèmes fréquents et solutions

Mon serveur refuse le jeton

Vérifiez que la clé est exactement la même (sans espace final) et que le serveur attend le même algorithme. Certains serveurs attendent une clé encodée en Base64 : décodez-la d'abord.

Le jeton est déjà expiré

L'horloge du serveur et celle de votre appareil diffèrent peut-être, ou la durée est trop courte. Allongez la durée ou laissez-la vide.

« Le contenu doit être un objet »

Le contenu d'un JWT est toujours un objet JSON entre accolades, pas un tableau ni une simple valeur.

Questions fréquentes

Ma clé secrète est-elle envoyée ?

Non. La signature est calculée par Web Crypto dans votre navigateur ; ni la clé ni le contenu ne quittent votre appareil.

Pourquoi seulement HS256, HS384 et HS512 ?

Ce sont les algorithmes à clé secrète partagée. RS256 et ES256 demandent une clé privée qu'il vaut mieux ne jamais coller dans une page web.

Le jeton est-il chiffré ?

Non. Un JWT signé est seulement encodé en Base64URL : n'importe qui peut lire son contenu. La signature garantit seulement qu'il n'a pas été modifié.

Comment vérifier le jeton créé ?

Ouvrez le décodeur JWT de Zanakit, collez le jeton et la même clé : la signature doit être indiquée comme valide.

Recherches associées

Toujours bloqué ?

Posez votre question sur le forum : la catégorie, l'outil, la fiche de votre appareil et le résultat du test seront déjà remplis.