JWT-Encoder (Erzeugen & Signieren)
Erzeugen Sie aus Header- und Payload-JSON einen mit HMAC (HS256, HS384 oder HS512) signierten JWT (JSON Web Token) – direkt in Ihrem Browser. Nichts, auch nicht der geheime Schlüssel, wird an einen Server gesendet.
Unterstützte HMAC-Signaturalgorithmen
| Algorithmus | Hashfunktion | Signaturlänge | Beschreibung |
|---|---|---|---|
| HS256 | SHA-256 | 256 Bit (32 Byte) | Die am weitesten verbreitete Standard-HMAC-Signatur. Sie ist Standard in vielen Implementierungen, unter anderem bei OAuth-2.0- und OpenID-Connect-ID-Tokens. |
| HS384 | SHA-384 | 384 Bit (48 Byte) | Eine mittlere Option für den Fall, dass eine längere Signatur als bei HS256 für zusätzliche Sicherheitsmarge gewünscht ist. |
| HS512 | SHA-512 | 512 Bit (64 Byte) | Hat die längste Signaturlänge und wird meist mit einem ausreichend langen, zufälligen geheimen Schlüssel kombiniert. |
Tipps
- Der JWT wird vollständig mit der Web Crypto API Ihres Browsers signiert – Header, Payload und geheimer Schlüssel werden niemals an den Server von toolbase.cc gesendet.
- Beim Wechseln des Signaturalgorithmus (HS256/HS384/HS512) wird das Feld
algim Header-JSON automatisch aktualisiert. Bearbeiten Sie den Header direkt, wenn Sie weitere Claims wiekidhinzufügen möchten. - Dieses Tool unterstützt ausschließlich HMAC-Algorithmen (symmetrischer Schlüssel). Benötigen Sie ein Public-Key-Verfahren wie RS256 oder ES256, verwenden Sie stattdessen eine serverseitige Bibliothek, etwa ein JWT-Paket für Node.js.
- Denken Sie nach dem Bearbeiten von Header oder Payload daran, erneut auf „JWT erzeugen“ zu klicken – sonst zeigt das Ergebnis weiterhin den mit den vorherigen Eingaben signierten Token.
- Um den Inhalt eines gerade erzeugten JWT zu prüfen, fügen Sie ihn in das begleitende Tool JWT-Decoder ein und kontrollieren Sie Header und Payload.
Häufig gestellte Fragen
alg nicht überein, kann eine andere Implementierung den Token bei der Prüfung mit einem Fehler ablehnen – achten Sie daher darauf, dass beide stets übereinstimmen.
Übrigens – Warum das Signieren eines JWT vollständig im Browser möglich ist
JWT-Signaturalgorithmen lassen sich grob in zwei Familien einteilen: „symmetrische“ Algorithmen (HMAC, also HS256/HS384/HS512), bei denen Absender und Empfänger denselben geheimen Schlüssel teilen, und „Public-Key“-Algorithmen (wie RS256 und ES256), bei denen ein privater Schlüssel signiert und ein öffentlicher Schlüssel verifiziert. Da Ersteres vollständig mit crypto.subtle.sign() der vom W3C standardisierten Web Crypto API (SubtleCrypto) berechnet werden kann – ohne jede externe Bibliothek –, beschränkt sich dieses Tool bewusst auf HMAC-Algorithmen.
Die Sicherheit einer HMAC-Signatur hängt vollständig davon ab, wie schwer der geheime Schlüssel zu erraten ist, nicht vom Inhalt des Headers oder Payloads. RFC 7518 (JSON Web Algorithms) empfiehlt für HS256 eine Schlüssellänge von mindestens 256 Bit (32 Byte); wird ein kurzes Wort oder eine Zeichenfolge aus einem Wörterbuch als geheimer Schlüssel verwendet, besteht die Gefahr, dass die Signatur per Brute-Force gefälscht wird. In echten Produktivumgebungen sollte eine ausreichend lange, zufällig generierte Zeichenfolge als geheimer Schlüssel verwendet werden.
Dieses Tool ist ein Entwickler-Hilfsmittel für die Überprüfung des API-Verhaltens während der Entwicklung oder zum Testen der Signaturprüf-Logik von Webhooks. Der von Ihnen eingegebene geheime Schlüssel wird nur im Speicher Ihres Browsers verarbeitet und niemals extern übertragen, aber das Risiko, dass ein gemeinsam genutztes Gerät oder eine Browser-Erweiterung die Zwischenablage oder Eingaben mitliest, ist nicht null. Wir empfehlen dringend, niemals einen tatsächlich in der Produktion verwendeten Schlüssel in ein solches Tool einzugeben, selbst nicht nur zu Testzwecken.