So funktioniert dieses Werkzeug
Ein signiertes JWT aus JSON mit HMAC, RSA, RSA-PSS oder ECDSA erstellen.
Nutze das Beispiel, um Eingabe und Metadaten zu prüfen, und ersetze es dann durch deinen Wert.
Datenschutz und sichere Nutzung
Die Verarbeitung bleibt in diesem Browser-Tab. Große Werte können viel Gerätespeicher benötigen.
Füge keine produktiven Geheimnisse oder privaten Schlüssel in ein Browser-Werkzeug ein. Nutze produktiv eine gepflegte JWT-Bibliothek und geschützte serverseitige Schlüssel.
Häufige Fehler und Ursachen
- Die Eingabe ist leer, fehlerhaft oder hat nicht das erwartete Format.
- Der gewählte Modus passt nicht zu Alphabet, Dateityp oder Darstellung.
- Sehr große Werte können den Speicher erschöpfen, weil kodierte und dekodierte Kopien gleichzeitig vorliegen.
- Eine erfolgreiche Umwandlung beweist nicht, dass der Inhalt sicher oder vertrauenswürdig ist.
Entsprechende Befehle
Nutze eine vorhandene Laufzeit oder Shell. Prüfe fremde Eingaben und gib Binärdaten nicht direkt im Terminal aus.
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)