Zum Hauptinhalt springen
Bethemesh

JWT-Encoder

Erzeuge ein HMAC-signiertes JSON Web Token für Tests: Gib Header und Payload als JSON ein, wähle HS256, HS384 oder HS512 und dein Secret; alg und typ werden automatisch gesetzt.

  • Zwischenablage

Dieses Widget einbetten

Passe die Darstellung an, prüfe die Vorschau und kopiere anschließend den Code.

Vorschau

Art des Einbettungscodes

Zu kopierender Code

Responsive und automatisch von Bethemesh in der Größe angepasst.

Algorithmus

Für Tests und Entwicklung: Verwende kein Produktionsgeheimnis auf einem geteilten oder nicht vertrauenswürdigen Gerät.

War dieses Werkzeug hilfreich?

Wie funktioniert dieses Tool?

Der JWT-Encoder baut aus einem Header, einer JSON-Payload und einem gemeinsamen Secret ein HMAC-signiertes Token. Er ist für Entwickler und Tester gedacht, die ein maßgeschneidertes Token brauchen, um eine lokale API aufzurufen, einen automatisierten Test zu schreiben oder einen Grenzfall nachzustellen (abgelaufenes Token, fehlende Rolle). Er dient der Entwicklung und dem Testen, nicht der Ausgabe von Produktions-Tokens.

Das Tool prüft, ob Header und Payload gültige JSON-Objekte sind, und setzt dann im Header alg auf den gewählten Algorithmus und typ auf JWT. Jedes Objekt wird serialisiert und Base64URL-kodiert (RFC 4648, ohne Auffüllzeichen =), die beiden Segmente werden mit einem Punkt verbunden. So wird aus dem Header {"alg":"HS256","typ":"JWT"} der Wert eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.

Die Signatur ist ein HMAC über den String „Header.Payload“ mit SHA-256, SHA-384 oder SHA-512 je nach Algorithmus (RFC 7518, Abschnitt 3.2), berechnet mit der Web Crypto API. Das Base64URL-kodierte Ergebnis bildet das dritte Segment des JWT (RFC 7519). RFC 7518 verlangt einen Schlüssel, der mindestens so lang ist wie die Hash-Ausgabe: 256 Bit (32 Byte) für HS256, 384 Bit für HS384 und 512 Bit für HS512. Die Zeitangaben exp, iat und nbf in der Payload müssen Unix-Sekunden sein, zum Beispiel "exp": 1767225600 für den 1. Januar 2026 um 00:00 UTC.

So verwenden Sie dieses Tool

  1. Header und Payload schreiben

    Bearbeite die beiden vorausgefüllten JSON-Felder oder importiere eine .json-Datei. Ergänze deine Claims: sub, iss, aud, exp, Rollen oder eigene Felder.

  2. Algorithmus und Secret wählen

    Wähle HS256, HS384 oder HS512 und gib das gemeinsame Secret ein. Die Header-Felder alg und typ werden automatisch aktualisiert.

  3. JWT erzeugen und kopieren

    Klicke auf Generieren: Das signierte Token erscheint und lässt sich kopieren. Ist das JSON ungültig oder das Secret leer, wird ein Fehler angezeigt.

JWT-HMAC-Signatur

JWT-HMAC-Signatur

JWT = Base64URL(Header) + '.' + Base64URL(Payload) + '.' + Base64URL(HMAC(Geheimnis, Signatureingabe))

Anwendungsfälle

Eine geschützte API lokal testen

Erstelle ein Token, das mit dem Secret deiner Entwicklungsumgebung signiert ist, und rufe damit eine geschützte Route per curl oder Postman auf, ohne den ganzen Login-Ablauf zu durchlaufen.

Ein abgelaufenes Token oder eines ohne Rolle nachstellen

Setze exp in die Vergangenheit oder entferne den Claim roles, um zu prüfen, ob deine Middleware in diesen Grenzfällen wirklich 401 oder 403 zurückgibt.

Test-Fixtures vorbereiten

Erzeuge stabile Tokens für deine Integrationstests und kontrolliere sie anschließend mit dem JWT-Verifizierer, damit Secret und Claims zu dem passen, was der Server erwartet.

Beispiele

Mit HS256 signiertes JWT

Eingabe

Algorithmus: HS256; JSON-Header: {"alg":"HS256","typ":"JWT"}; JSON-Payload: {"sub":"1234567890","name":"John Doe","iat":1516239022}; Geheimnis: testschluessel

Ergebnis

Das Ergebnis ist ein JWT mit drei durch Punkte getrennten Base64URL-Abschnitten. Die Signatur verwendet HMAC-SHA256.

Tipps und bewährte Vorgehensweisen

  • Nimm für HS256 ein Secret aus mindestens 32 zufälligen Bytes: Ein kurzes Wort wie „secret“ macht das Token per Offline-Brute-Force knackbar.
  • Schreib exp und iat in Sekunden, nicht in Millisekunden: Date.now() in JavaScript liefert Millisekunden und ergibt ein Datum um das Jahr 58.000.
  • Leg keine vertraulichen Daten in die Payload, denn sie ist nur Base64URL-kodiert und für jeden lesbar, der das Token hat.

Quellen und Referenzen

Häufig gestellte Fragen

Wie erstellt man ein JWT?

Ein JWT entsteht, indem man einen JSON-Header und eine JSON-Payload Base64URL-kodiert und den String „Header.Payload“ mit dem gewählten Algorithmus signiert. Hier gibst du einfach beide Objekte und ein Secret ein und klickst auf Generieren. In Produktion übernimmt das dein Authentifizierungsserver oder eine Bibliothek wie jose oder jsonwebtoken.

Wie lang sollte ein HS256-Secret sein?

RFC 7518 verlangt für HS256 einen Schlüssel von mindestens 256 Bit, also 32 Byte; für HS384 sind es 48 Byte und für HS512 64 Byte. Ein zufälliges Secret dieser Größe, etwa aus einem Generator für sichere Tokens, verhindert Wörterbuchangriffe auf die Signatur.

Warum nur HS256, HS384 und HS512?

Diese HMAC-Algorithmen brauchen nur ein gemeinsames Secret, was für Test-Tokens reicht. RS256 oder ES256 würden einen privaten Schlüssel erfordern, der nicht in einem Web-Tool verarbeitet werden sollte. Wenn mehrere Parteien deine Tokens prüfen, aber nicht ausstellen dürfen, nutze auf dem Server einen asymmetrischen Algorithmus.

Wie füge ich einem JWT ein Ablaufdatum hinzu?

Ergänze in der Payload den Claim exp mit einem Unix-Zeitstempel in Sekunden, zum Beispiel "exp": 1767225600. Mit einem Timestamp-Konverter berechnest du diesen Wert aus einem Datum. Denk auch an iat für den Ausstellungszeitpunkt.

Kann ich diese Tokens in Produktion verwenden?

Nein, das Tool ist für Entwicklung und Tests gedacht. In Produktion müssen Tokens von einem Server ausgestellt werden, der das Secret vor Nutzern schützt, kurze Laufzeiten durchsetzt und die Schlüsselrotation verwaltet.

Wird mein Secret irgendwohin gesendet?

Nein. Kodierung und HMAC-Signatur werden in deinem Browser mit der Web Crypto API berechnet, ohne Netzwerkanfrage. Gib trotzdem kein Produktions-Secret ein, denn wer es kennt, kann Tokens signieren, die deine API akzeptiert.

Empfohlener Workflow

Entdecke Werkzeuge, die sinnvoll vor, nach oder ergänzend zu diesem Werkzeug eingesetzt werden können.

Passt gut zu

Dekodiere ein JWT und lies Header, Payload, Claims und Ablaufdaten.

Sicherheit & DatenschutzEmpfohlenDieses Werkzeug verwenden

Nächster Schritt

Prüfe die Signatur eines JWT mit einem HMAC-Secret oder einem öffentlichen Schlüssel als JWK, JWKS oder PEM und kontrolliere exp, nbf, iss und aud.

Sicherheit & DatenschutzDieses Werkzeug verwenden