ForHosting KIT · Entwickler-Tools

2FA-Backupcodes mit Seed generieren

Dieser Generator für Zweifaktor-Backupcodes erstellt exakt die gewünschte Anzahl eindeutiger, einmalig nutzbarer Wiederherstellungscodes im üblichen Format aus vier Ziffern, Bindestrich und vier Ziffern.

● BetaKostenlos · im Browser
Nutzen Sie es über WebAPIE-MailTelegramApp bald

Geben Sie eine Anzahl und einen geheimen Seed ein, dann ergeben dieselben Eingaben stets dieselbe geordnete Liste. Diese Reproduzierbarkeit eignet sich für kontrollierte Bereitstellungen, Testdaten, dokumentierte Wiederherstellungsabläufe und Systeme, die Codes rekonstruieren müssen, ohne die erzeugte Liste zu speichern. Die Berechnung erfolgt ausschließlich lokal: Netzwerk, Uhrzeit, Zufallsquelle, Kontodaten und verborgener Zustand werden nicht verwendet. Behandeln Sie den Seed und jeden erzeugten Code als vertrauliches Authentifizierungsmaterial.

Anzahl wählen und Seed schützen

Legen Sie zunächst fest, wie viele Wiederherstellungscodes das Konto oder die Anwendung ausgeben soll. Die Anzahl muss eine ganze Zahl zwischen eins und eintausend sein; eine Anfrage mit einem Wert unter eins wird abgewiesen, statt unbemerkt eine leere Liste zu erzeugen. Geben Sie anschließend einen nicht leeren Seed an. Der Seed ist die vollständige Grundlage der Reproduzierbarkeit. Identische Werte für Seed und Anzahl liefern daher identische Codes in derselben Reihenfolge. Verwenden Sie ein langes Geheimnis mit hoher Entropie, das nach dem von Ihrer Organisation genehmigten Verfahren zur Geheimnisverwaltung erzeugt und gespeichert wurde. Personennamen, E-Mail-Adressen, Projektbezeichnungen und kurze, leicht merkbare Sätze sind für den Produktivbetrieb ungeeignet, weil andere sie erraten und die Codes rekonstruieren könnten. Verwenden Sie denselben Seed nicht für verschiedene Benutzer, Umgebungen oder Dienste. Die interne Domänentrennung des Algorithmus verhindert versehentliche Überschneidungen mit anderen Ableitungen, gleicht aber keinen schwachen oder offengelegten Seed aus. Kennzeichnen und isolieren Sie Test-Seeds für reproduzierbare automatisierte Tests eindeutig, damit deren Ergebnisse niemals von einem produktiven Authentifizierungssystem akzeptiert werden. Die Länge ist auf 4,096 Zeichen begrenzt, damit die Ausführung beschränkt und vorhersehbar bleibt.

Deterministische Erzeugung verstehen

Jede Ausgabeposition wird mit SHA-256 getrennt aus einer versionierten Kennzeichnung, der exakten Seed-Länge, dem Seed-Text, der bei null beginnenden Position und einem Wiederholungszähler abgeleitet. Die Angabe der Länge macht die Gliederung der Eingabe eindeutig, während die versionierte Kennzeichnung diesen Zweck von anderen Seed-basierten Berechnungen trennt. Der Generator liest vorzeichenlose Werte aus dem Hash und wendet Rejection Sampling an, bevor er sie auf acht Dezimalziffern reduziert. Dadurch wird die geringe Verteilungsverzerrung vermieden, die bei einer direkten Modulo-Umrechnung entstünde. Jede akzeptierte Zahl wird als zwei durch einen Bindestrich getrennte Vierergruppen formatiert; führende Nullen bleiben erhalten. Eine Menge hält bereits ausgegebene Werte fest. Bei einer Kollision wird der Zähler deterministisch erhöht, bis ein neuer Code gefunden ist. Das Ergebnis enthält somit die angeforderte Anzahl eindeutiger Codes, und eine erneute Ausführung reproduziert sowohl die Kollisionsentscheidungen als auch die endgültige Liste. Weder Netzwerkdienste noch Systemzeit, Laufzeit-Zufallsgenerator, persistenter Cache oder veränderlicher Modulzustand können die Antwort beeinflussen. Schon die Änderung eines einzigen Zeichens im Seed verändert normalerweise die gesamte Liste.

Codes sicher einsetzen, speichern und ungültig machen

Die Erzeugung ist nur ein Bestandteil eines Backupcode-Verfahrens. Ihr Authentifizierungsdienst muss für jeden Code einen zugelassenen Prüfwert speichern, einen Code nach der ersten erfolgreichen Nutzung als verbraucht markieren, Versuche begrenzen und eine ausdrückliche Funktion zum Widerrufen oder Neuerzeugen anbieten. Schreiben Sie Seed oder Klartextcodes niemals in Analysedaten, Ablaufprotokolle, Supportanfragen, Build-Ausgaben oder gemeinsame Chats. Übermitteln Sie die Codes dem authentifizierten Benutzer in einer geschützten Sitzung und empfehlen Sie eine Offline-Aufbewahrung in einem Passwortmanager oder an einem anderen sicheren Ort. Determinismus erleichtert Notfallwiederherstellung und kontrollierte Bereitstellung, bedeutet jedoch auch, dass jede Person mit Zugriff auf den Seed sämtliche Codes rekonstruieren kann. Wechseln Sie bei vermuteter Offenlegung, auf Wunsch des Benutzers oder bei einer vorgeschriebenen Ungültigmachung der alten Liste zu einem neuen, unabhängigen Seed. Fordern Sie nicht lediglich eine andere Anzahl mit dem bisherigen Seed an: Die gemeinsamen Positionen beider Anfragen bleiben gleich. Gruppierte Ziffern vereinfachen die Übertragung, doch pro Code gibt es nur einhundert Millionen mögliche Werte. Schutzmaßnahmen für Online-Versuche bleiben deshalb unverzichtbar. Die API kostet $0.002 je Anfrage; im Browser läuft dieselbe reine Berechnung.

Wiederherstellungscodes bereitstellen

Erzeugen Sie bei der Registrierung eine kontrollierte Liste gruppierter Wiederherstellungscodes mit reproduzierbarer Ableitung aus einem geschützten Seed je Benutzer.

Stabile Authentifizierungstests erstellen

Erzeugen Sie feste Backupcode-Testdaten für Integrationstests, ohne eine manuell gepflegte Liste im Repository abzulegen.

Eine freigegebene Codeliste rekonstruieren

Stellen Sie in einem dokumentierten Vorfallverfahren dieselbe geordnete Liste wieder her, wenn der geschützte Seed, aber nicht mehr die angezeigte Kopie verfügbar ist.

Welches Format verwenden die Codes?

Jeder Code besteht aus acht Dezimalziffern in zwei Vierergruppen, beispielsweise 0123-4567. Führende Nullen bleiben erhalten.

Liefern dieselben Eingaben immer dieselben Codes?

Ja. Der Algorithmus hängt weder von Zufall, Uhrzeit, Netzwerk noch gespeichertem Zustand ab. Dieselbe Anzahl und der exakte Seed reproduzieren daher dieselbe geordnete Liste.

Kann eine Antwort doppelte Codes enthalten?

Nein. Kollisionen werden erkannt und deterministisch wiederholt, bis die angeforderte Liste ausschließlich eindeutige Codes enthält.

Kann ich einen leicht merkbaren Seed verwenden?

Nicht im Produktivbetrieb. Verwenden Sie ein langes Geheimnis mit hoher Entropie aus einem zugelassenen Erzeugungs- und Speicherverfahren, da jeder mit Kenntnis des Seeds die Codes rekonstruieren kann.

Was geschieht bei einer Anzahl von null oder weniger?

Die Anfrage schlägt mit einem Fehler für ungültige Eingaben fehl, der angibt, dass die Anzahl mindestens eins betragen muss.

Was kostet eine API-Anfrage?

Jede API-Anfrage kostet $0.002. Die Browserversion führt denselben reinen Algorithmus lokal aus.

Alles auf dieser Seite ist auch per API verfügbar. Dieser Abschnitt richtet sich an Teams, die es in ihre eigenen Systeme einbinden möchten; alle anderen nutzen einfach das Tool oben.

POSThttps://api.kit.forhosting.com/security/two-factor-backup-codes-generate

Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.

curl -X POST https://api.kit.forhosting.com/security/two-factor-backup-codes-generate \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"count":8,"seed":"correct-horse-battery-staple-2026"}'
{
  "count": 8,
  "seed": "correct-horse-battery-staple-2026"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "security.two_factor_backup_codes_generate",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

Die API arbeitet asynchron: Sie erhalten sofort eine task_id. Polling ist mit 1 Anfrage pro Sekunde erlaubt.

pro Anfrage$0.002

Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.

HTTPCodeBedeutung
401unauthorizedDer API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer).
402insufficient_balanceIhr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht.
404unknown_typeUnbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog.
429rate_limitedZu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt.

Vollständige KIT-Dokumentation lesen →