Fonctionnement de cet outil
Créez un JWT signé depuis du JSON avec HMAC, RSA, RSA-PSS ou ECDSA.
Utilisez l’exemple pour vérifier l’entrée et les métadonnées, puis remplacez-le par votre valeur.
Confidentialité et utilisation sûre
Le traitement reste dans cet onglet. Les grandes valeurs peuvent consommer beaucoup de mémoire.
Ne collez pas de secrets ou clés privées de production dans un outil web. En production, utilisez une bibliothèque JWT maintenue et un stockage serveur protégé.
Erreurs courantes expliquées
- L’entrée est vide, endommagée ou n’utilise pas le format attendu.
- Le mode choisi ne correspond pas à l’alphabet, au type de fichier ou à la représentation.
- Une très grande valeur peut épuiser la mémoire lorsque les copies encodée et décodée coexistent.
- Une conversion réussie ne prouve pas que le contenu est sûr ou fiable.
Commandes équivalentes
Utilisez le runtime ou le shell disponible. Validez les entrées non fiables et évitez d’imprimer du binaire directement dans le terminal.
Python
import base64, hashlib, hmac, json
b64 = lambda value: base64.urlsafe_b64encode(value).rstrip(b'=').decode()
body = '.'.join([b64(json.dumps(header, separators=(',', ':')).encode()), b64(json.dumps(payload, separators=(',', ':')).encode())])
token = body + '.' + b64(hmac.new(secret, body.encode(), hashlib.sha256).digest())
JavaScript
import { createHmac } from 'node:crypto';
const b64 = value => Buffer.from(JSON.stringify(value)).toString('base64url');
const body = `${b64(header)}.${b64(payload)}`;
const token = `${body}.${createHmac('sha256', secret).update(body).digest('base64url')}`;
Shell
b64url() { openssl base64 -A | tr '+/' '-_' | tr -d '='; }
body="$(printf '%s' "$HEADER" | b64url).$(printf '%s' "$PAYLOAD" | b64url)"
sig=$(printf '%s' "$body" | openssl dgst -sha256 -mac HMAC -macopt "key:$SECRET" -binary | b64url)