Zum Inhalt springen

JWT-Generator (HS256, HS384, HS512)

Erstelle ein JSON Web Token, signiert mit HS256, HS384 oder HS512 und deinem geheimen Schlüssel, mit automatischen iat- und exp-Daten. Die Signatur entsteht im Browser.

  • Kostenlos
  • Ohne Anmeldung
  • Kein Datei-Upload
  • Windows, Mac, Android, iPhone

Werkzeug wird geladen…

Über dieses Werkzeug

Schreibe den Payload des Tokens in JSON, wähle Algorithmus und geheimen Schlüssel: Das signierte JWT erscheint sofort, Ausstellungs- und Ablaufdatum werden für dich berechnet. Praktisch, um eine geschützte API zu testen, ohne Bibliothek und ohne deinen Schlüssel einer Website anzuvertrauen.

Wann es hilft

Eine geschützte API testen

Deine API prüft HS256-Tokens? Erzeuge eines mit demselben Schlüssel wie deine Entwicklungsumgebung, dem nötigen sub und den Rollen, und sende es im Header Authorization: Bearer aus Postman, curl oder dem Browser.

Einen Grenzfall nachstellen

Ein abgelaufenes Token, eine fehlende Rolle, eine unerwartete Zielgruppe: Ändere Payload und Dauer, um zu prüfen, ob dein Server ablehnt, was er ablehnen soll.

Verstehen, wie ein JWT funktioniert

Header, Payload und Signatur live und farbig sich ändern zu sehen hilft zu verstehen, dass ein JWT nur kodiert und signiert ist, nicht verschlüsselt.

So funktioniert's

  1. Wähle den Algorithmus und schreibe den JSON-Payload.
  2. Gib einen geheimen Schlüssel ein oder erzeuge einen.
  3. Kopiere das signierte Token.

So funktioniert es

Header (Felder alg und typ) und Payload werden als JSON serialisiert und dann Base64URL-kodiert. Die Signatur ist ein HMAC über „header.payload“ mit dem geheimen Schlüssel und der Hashfunktion des gewählten Algorithmus (SHA-256, SHA-384 oder SHA-512), berechnet mit Web Crypto, der nativen Implementierung des Browsers.

Gibst du eine Dauer an (15m, 1h, 7d), wird das Feld exp mit dem Ablaufdatum in Unix-Sekunden ergänzt; iat erhält das aktuelle Datum. Das erzeugte Token ist identisch mit dem, das jsonwebtoken (Node.js), PyJWT oder firebase/php-jwt mit demselben Schlüssel erzeugen würden.

Tipps für beste Ergebnisse

  • Nutze für HS256 einen Zufallsschlüssel mit mindestens 32 Bytes: Der Button „Schlüssel erzeugen“ erstellt einen.
  • Lege nie ein Passwort oder sensible Daten in den Payload: Jeder kann ihn lesen.
  • Nutze für Tests nicht den Produktionsschlüssel: Erzeuge einen Schlüssel pro Umgebung.
  • Halte Access-Tokens kurzlebig (5 bis 15 Minuten) und nutze Refresh-Tokens, um Sitzungen zu verlängern.
  • Um mit einem privaten Schlüssel zu signieren (RS256, ES256), nutze eine serverseitige Bibliothek: Der private Schlüssel sollte nicht umherwandern.

Häufige Probleme und Lösungen

Mein Server lehnt das Token ab

Prüfe, ob der Schlüssel exakt gleich ist (kein Leerzeichen am Ende) und der Server denselben Algorithmus erwartet. Manche Server erwarten einen Base64-kodierten Schlüssel: Dekodiere ihn zuerst.

Das Token ist bereits abgelaufen

Die Uhr des Servers und die deines Geräts können abweichen, oder die Dauer ist zu kurz. Verlängere die Dauer oder lass sie leer.

„Der Payload muss ein Objekt sein“

Der Payload eines JWT ist immer ein JSON-Objekt in geschweiften Klammern, kein Array und kein einzelner Wert.

Häufige Fragen

Wird mein geheimer Schlüssel irgendwohin gesendet?

Nein. Die Signatur berechnet Web Crypto in deinem Browser; weder Schlüssel noch Payload verlassen dein Gerät.

Warum nur HS256, HS384 und HS512?

Das sind die Algorithmen mit gemeinsamem Geheimnis. RS256 und ES256 erfordern einen privaten Schlüssel, den man besser nie in eine Webseite einfügt.

Ist das Token verschlüsselt?

Nein. Ein signiertes JWT ist nur Base64URL-kodiert: Jeder kann seinen Payload lesen. Die Signatur garantiert nur, dass es nicht verändert wurde.

Wie prüfe ich das erstellte Token?

Öffne den JWT-Decoder von ZanaKit und füge Token und denselben Schlüssel ein: Die Signatur sollte als gültig angezeigt werden.

Ähnliche Suchanfragen

Immer noch ein Problem?

Frag im Forum: Kategorie, Werkzeug, Datenblatt deines Geräts und Testergebnis werden automatisch ausgefüllt.