JWT-Generator-Leitfaden: Erstellung von HS256/RS256-signierten Tokens

Dienstprogramme

Was ist JWT

JSON Web Token (JWT) ist ein kompaktes, in sich geschlossenes Token-Format, das weit verbreitet für Authentifizierung und Informationsaustausch verwendet wird:

eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNzAwMDAwMDAwLCJleHAiOjE3MDAwMDgwMDB9.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
↑ Header              ↑ Payload                    ↑ Signature

Ein JWT besteht aus drei Base64URL-kodierten Zeichenketten, die durch . getrennt sind.


Dreiteilige Struktur Erklärt

{
  "alg": "HS256",
  "typ": "JWT"
}
Feld Bedeutung
alg Signaturalgorithmus: HS256, RS256 usw.
typ Token-Typ, immer JWT

Payload

{
  "sub": "1234567890",
  "name": "John Doe",
  "role": "admin",
  "iat": 1700000000,
  "exp": 1700008000
}
Feld Bedeutung Erforderlich
sub Subjekt (Benutzer-ID) Empfohlen
iat Ausstellungszeitstempel Empfohlen
exp Ablaufzeit Erforderlich
iss Aussteller Optional
aud Zielgruppe Optional
nbf Nicht vor (Gültigkeitszeit) Optional

Signature

HMACSHA256(base64UrlEncode(header) + "." + base64UrlEncode(payload), secret)

Die Signatur stellt sicher, dass das Token nicht manipuliert wurde, aber der Payload ist standardmäßig NICHT verschlüsselt—legen Sie niemals sensible Daten darin ab!


HS256 vs RS256

Vergleich HS256 RS256
Algorithmustyp Symmetrisch (HMAC) Asymmetrisch (RSA)
Schlüssel Gemeinsames Geheimnis (Zeichenkette) Öffentlicher Schlüssel + Privater Schlüssel
Prüfer Benötigt dasselbe Geheimnis Benötigt nur den öffentlichen Schlüssel
Anwendungsfall Einzeldienst, interne Mikrodienste Mehrdienst, Drittanbieter-Verifikation
Schlüsselverwaltung Einfach, aber höheres Leckrisiko Sicherer, öffentlicher Schlüssel kann geteilt werden

Empfehlung: Verwenden Sie HS256 für Monolithen, RS256 für Mikrodienste/offene APIs.


Verwendung des JWT-Generators

Schritt 1: Tool Öffnen

Besuchen Sie den JWT-Generator, um die Token-Erstellungsoberfläche aufzurufen.

Schritt 2: Signaturalgorithmus Auswählen

  • Einzeldienst: Wählen Sie HS256 und geben Sie ein gemeinsames Geheimnis ein
  • Mehrdienst: Wählen Sie RS256 und fügen Sie einen privaten Schlüssel ein

Schritt 3: Payload Ausfüllen

Fügen Sie Claims im Payload-Editor hinzu:

{
  "sub": "user_10086",
  "name": "John Doe",
  "role": "admin",
  "iat": 1700000000,
  "exp": 1700008000
}

iat und exp verwenden Unix-Zeitstempel (Sekunden). Das Tool unterstützt visuelle Ablaufzeitkonfiguration.

Schritt 4: Token Generieren

Klicken Sie auf "Generieren". Das Tool automatisch:

  1. Base64URL-kodiert den Header
  2. Base64URL-kodiert den Payload
  3. Berechnet die Signatur mit dem Schlüssel
  4. Verkettet zu einer vollständigen JWT-Zeichenkette

Schritt 5: Token Verifizieren

Fügen Sie das generierte Token in den JWT-Decoder ein und bestätigen Sie:

  • Header und Payload werden korrekt dekodiert
  • Signaturverifikation erfolgreich
  • exp-Zeit ist nicht abgelaufen

Best Practices für Ablaufzeiten

Szenario Empfohlene exp Grund
Access Token 15-30 Minuten Kurzlebig, reduziert Leckrisiko
Refresh Token 7-30 Tage Langlebig, zur Erneuerung
E-Mail-Verifizierungslink 1-24 Stunden Einmalige Nutzung
API-Key Kein exp oder 1+ Jahr Langzeitberechtigung

Best Practice: Verwenden Sie den Access-Token- + Refresh-Token-Dual-Token-Ansatz.


Hinweise zur Base64URL-Kodierung

JWT verwendet Base64URL-Kodierung, die sich vom Standard-Base64 unterscheidet:

Unterschied Standard-Base64 Base64URL
+ + -
/ / _
Padding = Ja Nein

Bei Verwendung des Base64-Kodier-/Dekodiertools stellen Sie sicher, dass Sie den URL-sicheren Modus auswählen.


Häufige Probleme

Problem Ursache Lösung
Signaturverifikation fehlgeschlagen Schlüssel stimmt nicht überein Bestätigen Sie, dass Erstellung und Verifikation denselben Schlüssel verwenden
Token abgelaufen exp-Zeit ist überschritten Regenerieren oder Refresh Token verwenden
Payload unleserlich Nicht mit Base64URL dekodiert Verwenden Sie den JWT-Decoder
Sensible Daten offengelegt Payload nicht verschlüsselt Niemals Passwörter oder Geheimnisse im Payload ablegen
RS256-Verifikation fehlgeschlagen Öffentlicher Schlüssel stimmt nicht überein Bestätigen Sie, dass der öffentliche Schlüssel zum privaten Schlüssel passt

Zusammenfassung

JWT ist eine Kerntechnologie der modernen Webauthentifizierung. Das Verständnis der dreiteiligen Struktur und des Unterschieds zwischen HS256/RS256 sowie die korrekte Konfiguration von Claims und Ablaufzeiten sind entscheidend für die sichere JWT-Verwendung. Der JWT-Generator und der JWT-Decoder ermöglichen Ihnen den vollständigen Token-Erstellungs-, Dekodierungs- und Verifikationsworkflow direkt im Browser.

#JWT#Token生成#HS256#RS256#认证