API-Key-Generator

Zufällige API-Keys generieren.

Wird ausschließlich lokal im Browser erzeugt (crypto.getRandomValues) und nirgendwohin übertragen.

Wie wird der API-Key erzeugt?

Mit dem kryptografisch sicheren Zufallsgenerator des Browsers werden zufällige Bytes erzeugt und je nach gewähltem Format als Hexadezimal- oder Base62-Zeichenkette dargestellt. Ein optionales Präfix wird vorangestellt.

Beispiel

Mit Präfix "sk_live_", 32 Zeichen und Format Hexadezimal entsteht ein Key wie "sk_live_3f8a1c9e…" – ähnlich dem Format vieler bekannter API-Anbieter.

Zweites Beispiel

Für ein Webhook-Secret, das ein Server zur Prüfung eingehender Signaturen braucht, wählst du Präfix "whsec_", Format Base62 und eine Länge von 24 Zeichen – so entsteht ein kompaktes, aber ausreichend zufälliges Secret, das sich leicht in eine .env-Datei einer lokalen Testumgebung eintragen lässt, ohne mit einem echten Produktions-Key verwechselt zu werden.

Wann brauchst du den API-Key-Generator?

  • Einen Platzhalter-Key für die lokale Entwicklung erzeugen, bevor der echte Produktions-Key im Secret-Management hinterlegt ist.
  • Ein Beispiel-Key-Format für die eigene API-Dokumentation generieren, das erkennbar nicht funktionsfähig ist.
  • Ein Webhook- oder Session-Secret für einen Testaufbau erzeugen, das anschließend serverseitig sicher hinterlegt wird.
  • Verschiedene Präfixe testen, um ein konsistentes Namensschema für unterschiedliche Key-Typen (Live/Test, Lese-/Schreibzugriff) im eigenen System festzulegen.

Gut zu wissen: Die Zufälligkeit (Entropie) hängt von Zeichensatz und Länge ab: Ein Hex-Zeichen liefert 4 Bit, ein Base62-Zeichen durch den größeren Zeichenvorrat knapp 6 Bit. 32 Hex-Zeichen entsprechen damit 128 Bit Entropie – für praktische Zwecke ausreichend unvorhersagbar. Die Erzeugung selbst ist aber nur die halbe Miete: Ein sicherer API-Key-Umgang bedeutet zusätzlich, Keys serverseitig gehasht oder sicher verschlüsselt zu speichern, sie nie im Klartext zu loggen und sie regelmäßig rotieren zu können.

Häufige Fragen

Was ist der Unterschied zwischen Hex und Base62?

Hexadezimal nutzt nur die Zeichen 0–9 und a–f, Base62 zusätzlich Groß- und Kleinbuchstaben – bei gleicher Zeichenanzahl enthält ein Base62-Key dadurch mehr Zufallsinformation (Entropie).

Wofür dient das Präfix?

Präfixe wie "sk_live_" helfen, Key-Typen auf einen Blick zu unterscheiden (z. B. Live- vs. Test-Umgebung) – ähnlich wie bei bekannten Zahlungsdienstleister-APIs.

Wie viel Entropie hat ein erzeugter Key?

Bei Hexadezimal liefert jedes Zeichen 4 Bit, bei Base62 durch den größeren Zeichenvorrat knapp 6 Bit. Ein 32-stelliger Hex-Key hat damit 128 Bit Entropie, ein gleich langer Base62-Key entsprechend mehr.

Kann ich den generierten Key direkt als Datenbank-Passwort oder Session-Secret verwenden?

Technisch ja, da die Erzeugung kryptografisch sicheren Zufall nutzt. Wichtig bleibt trotzdem, das Secret danach sicher zu speichern (nicht im Klartext im Code oder Repository) und bei Bedarf zu rotieren.

Sind die erzeugten Keys sicher genug für den Produktiveinsatz?

Die Erzeugung nutzt kryptografisch sicheren Zufall. Für den produktiven Einsatz solltest du zusätzlich sicherstellen, dass Keys serverseitig sicher gespeichert und nie im Klartext geloggt werden.