Zum Inhalt springen

Zufallsschlüssel-Generator

Random Key Generator

Erzeugt kryptografische Zufallsbytes als Hex, Base64 oder Base64URL in gewählter Länge, für App-Geheimnisse.

Ein `SECRET_KEY` oder ein JWT-Signierschlüssel muss aus zufälligen Bytes einer angegebenen Länge in einer angegebenen Kodierung bestehen, und die üblichen Improvisationen – eine zerhämmerte Tastatur, eine UUID, ein Hash des Projektnamens – haben alle weniger Entropie, als sie aussehen. Dieses Werkzeug erzeugt die Bytes und kodiert sie.

🔒 Läuft vollständig in Ihrem Browserrandomkeysecretgenerator

Zufälliges Secret

WHqSF-no3aQSkefFAvRtQOEPKyjlK764q4wjfkeXmPg
Als JWK (oct)
{
  "kty": "oct",
  "k": "WHqSF-no3aQSkefFAvRtQOEPKyjlK764q4wjfkeXmPg",
  "ext": true
}

WebCrypto-Schlüssel

Ein echter CryptoKey, als JWK exportiert — direkt mit crypto.subtle verwendbar.

Jedes Byte stammt aus crypto.getRandomValues und bleibt in diesem Tab. Nichts wird auf einem Server erzeugt oder an einen gesendet.

So funktioniert es

  1. Wählen Sie die Länge in Bytes

    32 Bytes (256 Bit) decken fast alles ab – HMAC-SHA256, AES-256, Sitzungsschlüssel. Länger ist dafür nicht stärker; der Algorithmus definiert die nützliche Größe.

  2. Wählen Sie die Kodierung, die die Konfiguration verlangt

    Hex ist eindeutig und doppelt so lang. Base64URL vermeidet `+`, `/` und `=`, was Sie in einer URL, einem Header oder einer `.env`-Datei wollen, die etwas anderes parsen wird.

  3. Legen Sie ihn in den Secret-Store, nicht ins Repository

    Ein einmal committeter Schlüssel ist ein Schlüssel, der rotiert werden muss, wie schnell der Commit auch zurückgenommen wurde. Erzeugen Sie für jede Umgebung einen anderen.

Häufige Fragen

Woher kommt der Zufall?

Aus `crypto.getRandomValues`, dem CSPRNG des Browsers, den das Betriebssystem seedet. Nichts wird übertragen und nichts wird gespeichert.

Ist ein im Browser erzeugter Schlüssel so gut wie einer aus `openssl rand`?

Der Zufall hat dieselbe Qualität – beide schöpfen aus dem Betriebssystem. Der Unterschied liegt darin, wo der Schlüssel angezeigt wird: auf einem Bildschirm, womöglich in einem Browser, der synchronisiert, womöglich mit einer Erweiterung, die das DOM beobachtet. Auf einem Rechner, den Sie nicht kontrollieren, verwenden Sie die Kommandozeile.

Kann ich das für eine UUID verwenden?

Verwenden Sie stattdessen den UUID-Generator – eine UUIDv4 hat ein festes Layout, bei dem sechs Bit für Version und Variante draufgehen, eine rohe Zufallszeichenkette ist also keine gültige.

Eingabe aus

Danach

Diese Tools nehmen an, was dieses hier erzeugt, das Ergebnis kann also direkt weiter.