Kostenloser JWT-Generator

Erstellen Sie JSON Web Tokens mit benutzerdefiniertem Header und Payload. Signiert mit HMAC-SHA256 in Ihrem Browser · nichts verlässt Ihr Gerät.

Generiertes Token

Klicken Sie auf Generieren, um ein JWT zu erstellen

Was ein JWT tatsächlich ist

Ein JSON Web Token (JWT), ausgesprochen „dschott“, ist eine kompakte, URL-sichere Darstellung von Claims, die zwischen zwei Parteien übertragen werden. Das Format besteht aus drei Base64url-kodierten Segmenten, durch Punkte getrennt: Header.Payload.Signatur. Der Header deklariert den Token-Typ (immer JWT) und den Signaturalgorithmus (häufig HS256, RS256 oder ES256). Der Payload trägt die Claims, ein JSON-Objekt mit Standardfeldern wie iss (Issuer), sub (Subject), aud (Audience), exp (Ablaufzeit als Unix-Timestamp), nbf (not before), iat (issued at), jti (JWT-ID), plus alle anwendungsspezifischen Claims, die der Issuer aufnehmen will. Die Signatur ist der kryptographische Beweis, dass Header und Payload nicht manipuliert wurden, erzeugt durch Signieren der verketteten base64url(Header).base64url(Payload)-Zeichenkette mit dem im Header deklarierten Algorithmus und Schlüssel. JWT wurde von Michael B. Jones, John Bradley und Nat Sakimura als RFC 7519 im Mai 2015 spezifiziert, aufbauend auf der vorherigen Arbeit in JOSE (JSON Object Signing and Encryption, RFCs 7515 bis 7520). Das Format ist die dominierende Token-Form in moderner Web-Authentifizierung geworden, eingesetzt in OAuth-2.0/OIDC-Implementierungen, API-Gateways, SPA-Session-Tokens, Microservice-zu-Microservice-Authentifizierung und cookie-basierter Session-Verwaltung im großen Stil.

Die Wahl des Signaturalgorithmus, HS256 vs. RS256 vs. ES256

JWT unterstützt mehrere Signaturalgorithmen, registriert im JOSE-Algorithmen-Register (RFC 7518). HS256 (HMAC-SHA256) ist der einfachste: ein symmetrischer Algorithmus, bei dem dasselbe Geheimnis zum Signieren und Verifizieren verwendet wird. Günstig zu berechnen, leicht zu implementieren und passend, wenn Signierer und Verifier dieselbe Partei sind (z. B. eine einzelne Anwendung, die sich selbst Session-Tokens ausstellt). RS256 (RSA-SHA256) ist asymmetrisch: der private Schlüssel signiert, der öffentliche Schlüssel verifiziert. Eingesetzt, wenn Issuer und Verifier verschiedene Parteien sind, Auth0, Okta, Google Identity Platform, Microsoft Entra ID und die meisten Cloud-Identitätsanbieter geben RS256-signierte JWTs aus, weil Clients die Signatur über einen veröffentlichten JWKS-Endpunkt (JSON Web Key Set) verifizieren können, ohne Geheimnisse teilen zu müssen. ES256 (ECDSA P-256 SHA-256) ist das elliptische-Kurven-Äquivalent von RS256, gleiches Public/Private-Key-Modell, viel kürzere Schlüssel (256 Bit gegenüber RSAs Minimum von 2048), schnellere Verifikation. EdDSA (Ed25519) ist der moderne Nachfolger von ES256, etwas schneller und mit saubereren kryptographischen Eigenschaften; in neueren JWT-Bibliotheken unterstützt, aber noch nicht universell. none ist ein vom JWT-Spec erlaubter „keine Signatur“-Modus, der über mehrere Bibliotheken hinweg Sicherheitsvorfälle ausgelöst hat, wenn Implementierungen es versäumten, alg: none-Tokens abzulehnen, die Lehre: JWT-Verifier müssen explizit prüfen, dass der Algorithmus dem erwarteten entspricht. Dieser Generator verwendet HS256, weil er nur ein gemeinsames Geheimnis statt Schlüsselgenerierung benötigt; für den produktiven Einsatz asymmetrischer Algorithmen ist eine serverseitige Bibliothek das richtige Werkzeug.

Wann Sie ein JWT von Hand erzeugen müssen

Sicherheitsfallen, wo JWTs schiefgehen

JWTs haben eine lange Geschichte von Implementierungsfehlern, die echte Sicherheitsvorfälle ausgelöst haben. Der „alg: none“-Angriff: frühe JWT-Bibliotheken akzeptierten Tokens mit dem Algorithmusfeld auf „none“ (keine Signatur), wodurch ein Angreifer beliebige Tokens fälschen konnte. Verifier müssen den erwarteten Algorithmus explizit erzwingen. Algorithmusverwirrung: ein Verifier, der sowohl RS256 als auch HS256 akzeptiert, kann ausgetrickst werden, indem der öffentliche RSA-Schlüssel als HMAC-Geheimnis verwendet wird, der Angreifer signiert mit HS256 mit dem öffentlichen Schlüssel, der Verifier (fehl-)verifiziert mit HMAC mit demselben öffentlichen Schlüssel. Verifier müssen den erwarteten Algorithmus festpinnen. Sensible Daten im Payload: JWT-Claims sind Base64-kodiert, aber nicht verschlüsselt. Jeder mit dem Token kann jeden Claim lesen. Niemals Passwörter, vollständige Kreditkartennummern oder andere Geheimnisse in den Payload aufnehmen. Keine Ablaufzeit: JWTs ohne exp-Claim sind ewig gültig. Setzen Sie immer eine vernünftige Ablaufzeit (Minuten für Access-Tokens, Tage für Refresh-Tokens). Keine Widerrufsmöglichkeit: JWTs sind selbstständig, einmal ausgegeben, bleiben sie bis exp gültig, egal ob der Nutzer sich abmeldet, sein Passwort ändert oder sein Konto gesperrt wird. Akzeptieren Sie diese Einschränkung, pflegen Sie eine Widerrufsliste (was den stateless-Token-Vorteil teilweise zunichtemacht) oder verwenden Sie kurzlebige Access-Tokens mit Refresh-Token-Rotation. Speicherung in localStorage vs. Cookies: ein JWT im localStorage ist für jedes JavaScript der Seite zugänglich (XSS-Risiko); ein JWT in einem HttpOnly-Cookie nicht (wird aber automatisch mit Cross-Origin-Anfragen gesendet, CSRF-Risiko). Beide haben Trade-offs; moderne Best Practice tendiert zu HttpOnly-Cookies mit SameSite-Beschränkungen plus CSRF-Tokens.

JWT vs. Session-Cookies vs. PASETO

JWT ist nicht die einzige Wahl. Traditionelle Session-Cookies speichern eine intransparente Session-ID; der Server hält den eigentlichen Session-Zustand in einer Datenbank oder einem Cache. Vorteile: triviale Widerrufsmöglichkeit (Server-seitigen Eintrag löschen), kein Risiko des Auslaufens von Claim-Daten, keine Signaturkomplexität. Nachteile: erfordert Session-Store-Lookup pro Anfrage (Latenz), schwerer dienstübergreifend zu skalieren. PASETO (Platform-Agnostic Security Tokens, Scott Arciszewski 2018) ist ein JWT-Ersatz, entworfen, um die Algorithmusverwirrungs- und „none“-Fallen zu vermeiden, versioniertes Format, keine Algorithmus-Aushandlung, verpflichtende Signaturen, eingeschränkte Cipher-Auswahl. PASETO hat in sicherheitssensiblen Kontexten an Boden gewonnen, aber JWT im breiteren Ökosystem nicht verdrängt. Macaroons (Google, 2014) sind ein flexibleres Token-Format mit verkettbaren Capability-Restriktionen, aber 2026 im Wesentlichen Forschungsthema. OAuth 2.1 konsolidiert die Best Practices von OAuth 2.0, JWT ist weiterhin das typische Access-Token-Format. Die pragmatische Wahl 2026 bleibt JWT für stateless Microservices und API-Tokens, intransparente Session-Cookies für traditionelle serverseitig gerenderte Web-Apps, mit PASETO als moderner Alternative für neue Greenfield-Projekte, die stärkere Defaults wollen.

Häufig gestellte Fragen

Kann ich ein JWT ohne den geheimen Schlüssel dekodieren?

Ja. JWTs sind signiert, aber nicht verschlüsselt, daher können Header und Payload immer gelesen werden. Der geheime Schlüssel wird nur benötigt, um die Signatur zu verifizieren oder ein neues Token zu generieren.

Ist es sicher, Produktions-JWTs hier einzufügen?

Ja. Die gesamte Verarbeitung erfolgt lokal in Ihrem Browser. Ihre Tokens und geheimen Schlüssel werden niemals an einen Server gesendet oder irgendwo gespeichert.

Was ist der Unterschied zwischen HS256, RS256 und ES256?

HS256 verwendet einen gemeinsamen geheimen Schlüssel (HMAC-SHA256). RS256 verwendet RSA-Schlüsselpaare, ES256 verwendet Elliptische-Kurven-Kryptografie. Dieses Tool unterstützt HS256, das am häufigsten für Web-APIs verwendet wird.

Verwandte Tools

Kostenloser JWT-Decoder Kostenloser Hash-Generator String-Hash-Visualisierer Kostenloser Online-Base64-Encoder & -Decoder