Pack Camo

JWT-Secret-Generator

Zufällige HS256-, HS384- und HS512-Schlüssel in hex oder Base64, fertig für Ihre .env. Alles läuft lokal — nichts wird hochgeladen.

Eingang
HS256 · HS384 · HS512
Ausgang
Hex · Base64 · Base64URL · .env

HS256 braucht mindestens 32 Bytes.

Ihr Secret

256-Bit-Schlüssel · HS256 · 0 Zeichen

.env-Zeile

JWT_SECRET=
Im JWT-Decoder testen

Auf Ihrem Gerät mit crypto.getRandomValues erzeugt. Nichts wird gesendet oder gespeichert.

Ein Secret, mit dem sich sicher signieren lässt

Ein per HMAC signiertes JWT ist nur so stark wie sein Secret. Wer es errät, kann Tokens ausstellen, denen Ihr Server vertraut, und kurze oder selbst gewählte Secrets probieren Cracking-Tools offline zuerst aus. Dieser Generator zieht den Schlüssel aus dem kryptografischen Zufallszahlengenerator Ihres Browsers, und zwar in der Länge, die der Algorithmus verlangt.

Wie lang das Secret sein sollte

  • HS256 braucht mindestens 32 Bytes (256 Bit). Alles Kürzere ist schwächer als der zugehörige Hash, und viele Bibliotheken lehnen es ab.
  • HS384 braucht mindestens 48 Bytes (384 Bit).
  • HS512 braucht mindestens 64 Bytes (512 Bit).
  • Länger ist in Ordnung. Ein Schlüssel, der länger als die Blockgröße des Hashes ist, wird zuerst gehasht. Mehr als 64 Bytes bei HS256 oder 128 Bytes bei HS512 bringen daher keinen Gewinn.

Das Secret verwenden

  • Halten Sie es aus Ihrem Code heraus. Legen Sie es in einer Umgebungsvariablen oder einem Secrets-Manager ab. „Als .env kopieren“ liefert Ihnen die Zeile zum direkten Einfügen.
  • Achten Sie auf die Kodierung. Manche Bibliotheken erwarten das Secret als Text, andere als rohe Bytes in Base64. Wenn Sie es zu Bytes dekodieren, wählen Sie hier Base64 oder Base64URL. Verwendet Ihre Bibliothek den String unverändert, ist hex die sicherste Wahl.
  • Eine Rotation meldet alle ab. Jedes mit dem alten Secret signierte Token wird ungültig. Planen Sie die Rotation daher, statt sie hastig durchzuführen.
  • Testen Sie vor dem Deployment. „Im JWT-Decoder testen“ öffnet den Decoder mit einem Beispiel-Token, das mit diesem Secret signiert ist, damit Sie sehen, wie eine gültige Signatur aussieht.

Häufige Fragen

Wie erzeuge ich einen JWT-Secret-Key?
Wählen Sie den Algorithmus Ihres Servers, und ein Secret in der passenden Länge wird sofort erzeugt. Wählen Sie die Kodierung, die Ihre Bibliothek erwartet, und kopieren Sie dann das Secret oder die fertige .env-Zeile. Mit „Neu erzeugen“ erhalten Sie ein neues.
Wie lang sollte ein JWT-Secret für HS256 sein?
Mindestens 32 Bytes, also 256 Bit: 64 hex-Zeichen oder 43 Base64URL-Zeichen. Ein kürzeres Secret ist schwächer als der SHA-256-Hash, mit dem es verwendet wird.
Ist es sicher, ein Secret im Browser zu erzeugen?
Ja. Der Schlüssel stammt aus crypto.getRandomValues, demselben kryptografischen Generator, den Browser für TLS nutzen, und entsteht auf Ihrem Gerät. Er wird weder an einen Server gesendet noch protokolliert oder gespeichert.
Sollte ich hex oder Base64 für mein JWT-Secret verwenden?
Beide enthalten dieselben Zufallsbytes. Hex ist am sichersten, wenn Ihre Bibliothek das Secret als Klartext behandelt. Base64 oder Base64URL passt, wenn Ihre Bibliothek das Secret zuerst in rohe Bytes dekodiert, wie es viele Konfigurationsoptionen verlangen.
Kann ich ein Passwort als JWT-Secret verwenden?
Das ist keine gute Idee. Passwörter sind im Vergleich zu 32 Zufallsbytes kurz und vorhersehbar, und wer eines Ihrer Tokens hat, kann das Secret offline erraten, so schnell es seine Hardware erlaubt.