Geheimschlüssel- & Passwort-Generator

Kryptografisch zufällige API-Keys, UUIDs, Hex- und Base64-Secrets erzeugen

100 % kostenlos. Läuft vollständig in deinem Browser: deine Dateien und Daten verlassen dein Gerät nie, und es wird nichts auf einen Server hochgeladen.

URL-safe alphanumeric - the shape used by Stripe, GitHub and most REST APIs.

32
5

Generated with crypto.getRandomValues() in your browser - nothing is sent to a server, and nothing is stored.

Über dieses Tool

Einen sicheren Secret Key generieren, ohne openssl oder ein Skript: Wähl das Format, das dein Projekt braucht – API Key, UUID v4, Hex, Base64 oder Passwort –, stell Länge und optional ein Präfix wie sk_live_ ein und erzeuge einen oder bis zu 50 Schlüssel auf einmal. Die Zufallswerte kommen aus crypto.getRandomValues(), dem kryptografisch sicheren Zufallsgenerator deines Browsers; nichts wird an einen Server geschickt. Ideal für JWT-Secrets, den APP_KEY von Laravel, den SECRET_KEY von Django, Webhook-Signaturen, Testdaten und neue Passwörter.

So verwendest du dieses Tool

  1. Format wählenAPI Key, UUID v4, Hex, Base64 oder Passwort – je nachdem, wofür du den Schlüssel brauchst.
  2. Länge und Präfix einstellenBei API Key und Passwort zählt die Länge in Zeichen (8 bis 128), bei Hex und Base64 in Bytes (8 bis 64). Ein Präfix wie sk_test_ ist optional.
  3. Anzahl festlegenErzeuge einen einzelnen Schlüssel oder bis zu 50 auf einmal.
  4. Kopieren oder herunterladenKlick auf eine Zeile kopiert sie sofort. Mit „Alles kopieren“ oder „.txt herunterladen“ übernimmst du die ganze Liste.

Wie lang sollte ein Secret Key sein?

Für Signaturschlüssel und API-Secrets solltest du mindestens 32 zufällige Bytes verwenden, also 256 Bit. Das sind 64 Hex-Zeichen oder rund 43 Base64-Zeichen. Bei Passwörtern empfiehlt das BSI: je länger, desto besser. Ein Passwort mit 8 bis 12 Zeichen sollte vier Zeichenarten mischen, ein Passwort mit 20 bis 25 Zeichen darf einfacher aufgebaut sein.

Speichere Schlüssel in Umgebungsvariablen oder einem Secrets-Manager, niemals im Quellcode oder Repository, und tausche sie aus, sobald sie in einem Chat, Ticket oder Commit aufgetaucht sind.

Secret Keys für gängige Frameworks

Die meisten Frameworks brauchen nur einen langen Zufallswert in einer Umgebungsvariablen. Mit diesen Einstellungen bekommst du dieselbe Art von Wert wie mit den üblichen Kommandozeilenbefehlen:

  • JWT-Secret (HS256): Hex, 32 Bytes – ein 256-Bit-Schlüssel, die Mindestgröße für HS256
  • Laravel APP_KEY: Base64, 32 Bytes, mit dem Präfix base64:
  • Auth.js / NextAuth AUTH_SECRET: Base64, 32 Bytes – entspricht openssl rand -base64 32
  • Django SECRET_KEY: API Key mit 50 Zeichen oder mehr
  • Rails secret_key_base: Hex, 64 Bytes (128 Zeichen), wie bei rails secret
  • Webhook-Signatur: Hex, 32 Bytes, einmal mit dem sendenden Dienst geteilt

Warum es nutzen

  • Nutzt den kryptografisch sicheren Zufallsgenerator des Browsers, nicht Math.random().
  • Fünf Formate für die häufigsten Fälle: API-Keys, UUIDs, Hex, Base64 und Passwörter.
  • Präfixe lassen Testschlüssel aussehen wie echte Tokens deines Dienstes.
  • Bis zu 50 Werte auf einmal, als Liste kopierbar oder als .txt-Datei für .env-Dateien und Testdaten.

Häufige Anwendungen

  • Ein JWT-Secret oder einen Session-Schlüssel für eine neue Anwendung erzeugen.
  • Den APP_KEY für Laravel oder AUTH_SECRET für Auth.js anlegen, ohne die Kommandozeile zu öffnen.
  • UUIDs für Testdatensätze oder Datenbank-Seeds erzeugen.
  • Starke Passwörter für neue Testkonten oder ein Admin-Login erstellen.

Tipps für bessere Ergebnisse

  • Verwende einen Entwicklungsschlüssel nie in der Produktion. Für den Livebetrieb immer einen frischen Schlüssel erzeugen und nur dort hinterlegen.
  • Nutze das Präfix-Feld, um das Format deiner echten Keys nachzubilden (etwa sk_test_), damit sich Testdaten wie echte verhalten.
  • Für Signatur- und Verschlüsselungsschlüssel ist Hex oder Base64 mit 32 Bytes oder mehr die bessere Wahl als das API-Key-Format.
  • Lade die Liste als .txt herunter, wenn du mehrere Umgebungsvariablen auf einmal befüllst – so tippst du nichts ab.

Fehler, die du vermeiden solltest

  • Einen zu kurzen Wert für ein echtes Sicherheitsgeheimnis wählen – unter 32 Bytes solltest du für Signaturschlüssel nicht gehen.
  • Eine UUID v4 als Zugangsschlüssel verwenden. Sie ist eine Kennung, kein Geheimnis – nimm dafür Hex oder Base64.
  • Erzeugte Schlüssel ins Git-Repository einchecken, auch Platzhalter. Was einmal in der Historie steht, bleibt dort.
  • Vergessen, dass das Präfix zur sichtbaren Länge gehört, aber nicht zum Zufallsanteil – die Sicherheit steckt nur im zufälligen Teil.

Häufig gestellte Fragen

Sie stammen aus crypto.getRandomValues(), der kryptografisch sicheren Zufallsquelle der Web-Crypto-Schnittstelle – derselben Grundlage, mit der auch echte API-Keys und Tokens erzeugt werden. Math.random() wird nicht verwendet, denn es ist für Sicherheitszwecke ungeeignet.

Als eigener Schlüssel deiner Anwendung ja – die Zufälligkeit ist sicher. Einen API-Key für einen fremden Dienst wie Stripe oder Google kannst du so aber nicht erzeugen: Solche Keys stellt nur der jeweilige Anbieter aus, ein selbst generierter String funktioniert dort nicht.

API Key besteht aus Buchstaben und Ziffern, Passwort zusätzlich aus Sonderzeichen – beide in der gewählten Länge. UUID v4 ist eine feste 36-stellige Kennung. Hex und Base64 kodieren zufällige Bytes in diesen beiden Standardformaten, wie sie für Signaturschlüssel und Tokens üblich sind.

Mindestens 128 Bit Zufall, also 32 Hex-Zeichen oder rund 22 Base64-Zeichen. Für Signaturschlüssel wie JWT-Secrets sind 256 Bit üblich. Darüber hinaus bringt zusätzliche Länge kaum noch Sicherheit.

In Umgebungsvariablen, einer .env-Datei außerhalb des Repositorys oder einem Secrets-Manager – nie im Quellcode oder in einem öffentlichen Repository. Einen Schlüssel, der in einem Chat, Ticket oder Commit gelandet ist, tauschst du aus.

Ein Präfix zeigt auf einen Blick, wofür ein Schlüssel gedacht ist und zu welcher Umgebung er gehört. Außerdem erkennen Secret-Scanner, etwa auf GitHub, geleakte Schlüssel mit festem Präfix automatisch.

Wähl Hex und eine Länge von 32 Bytes. Das ergibt 256 zufällige Bit als 64 Hex-Zeichen – die Mindestgröße für HS256. Für HS512 nimmst du 64 Bytes. Leg den Wert in einer Umgebungsvariablen wie JWT_SECRET ab und gib ihn nie an den Browser weiter.

Nicht direkt. Es ist Standard-Base64 und kann +, / und = enthalten, die in URLs eine besondere Bedeutung haben. Für Tokens in URLs oder Cookies nimmst du besser das Format API Key (nur Buchstaben und Ziffern) oder Hex.

Das Passwort-Format lässt leicht verwechselbare Zeichen weg – die Null und das große O, die Eins, das kleine l und das große I. So lässt sich ein Passwort vorlesen oder von einem Ausdruck abtippen, ohne dass Fehler passieren. Groß- und Kleinbuchstaben, Ziffern und Sonderzeichen sind trotzdem gemischt.

Related guides