TOTP (Einmalpasswort) Generator

Generiert aus einem Base32-TOTP-Geheimnis dasselbe 6-stellige Einmalpasswort (RFC 6238) wie Google Authenticator und ähnliche Apps – vollständig in Ihrem Browser. Ihr Geheimnis wird niemals übertragen.

Dieses Tool sendet Ihr Geheimnis niemals an einen Server. Die Base32-Dekodierung und die HMAC-Berechnung erfolgen vollständig in Ihrem Browser (Web Crypto API), sodass Sie Authentifizierungsdaten hier bedenkenlos eingeben können.

Über den TOTP-Algorithmus

TOTP (Time-based One-Time Password) ist ein zeitbasierter Einmalpasswort-Algorithmus, der in RFC 6238 definiert ist. Er wandelt ein gemeinsames Geheimnis und die aktuelle Zeit in einen Zähler um, der sich in festen Intervallen erhöht, und leitet daraus mit demselben dynamischen Trunkierungsalgorithmus wie HOTP (RFC 4226) einen numerischen Code ab.

HMAC-Algorithmus Auswahl zwischen SHA-1 (Standard), SHA-256 oder SHA-512
Codelänge 6 Ziffern (dieselbe Standardlänge, die Google Authenticator und die meisten gängigen 2FA-Apps verwenden)
Aktualisierungsintervall Alle 30 Sekunden wird ein neuer Code generiert

Was ein TOTP-Code ist

Ein TOTP (Time-based One-Time Password) ist der sechsstellige Code, der sich alle dreißig Sekunden erneuert und in der Zwei-Faktor-Authentifizierung eine zweite Prüfung zusätzlich zu Benutzername und Kennwort liefert. Berechnet wird er aus einem zuvor hinterlegten gemeinsamen Schlüssel, dem Secret, verbunden mit der aktuellen Uhrzeit – deshalb kommen der Server und die App in Ihrer Hand auf denselben Code, ohne miteinander zu sprechen. Google Authenticator, Microsoft Authenticator, Authy und die übrigen großen Apps folgen alle demselben Standard, RFC 6238.

Fügen Sie den Einrichtungsschlüssel ein, der bei der Anmeldung zur Zwei-Faktor-Authentifizierung unter dem QR-Code steht – das Secret im Base32-Format –, und dieses Werkzeug erzeugt vollständig im Browser denselben sechsstelligen Code, den Ihre App anzeigen würde. Das Dekodieren des Base32-Secrets und die HMAC-Berechnung laufen über die Web Crypto API; nichts wird an einen Server gesendet. Nützlich beim erneuten Einrichten einer App, beim Gegenprüfen eines Codes oder beim Abgleich über mehrere Geräte.

So erzeugen Sie einen Code

  1. Secret eingeben Fügen Sie den bei der Anmeldung ausgegebenen Base32-Einrichtungsschlüssel (etwa JBSWY3DPEHPK3PXP) in das Feld für das Secret ein.
  2. Hash-Verfahren prüfen Die meisten Dienste verwenden SHA-1. Stimmt der Code nicht überein, wechseln Sie versuchsweise zu SHA-256 oder SHA-512.
  3. Den sechsstelligen Code ablesen Der zum aktuellen Zeitpunkt passende Code wird während der Eingabe berechnet und mit einem Fortschrittsbalken für die verbleibenden Sekunden angezeigt.
  4. Bei Bedarf kopieren Die Kopierschaltfläche legt den Code in die Zwischenablage. Vermeiden Sie die letzten Augenblicke vor dem Wechsel.

Tipps für die Nutzung

  • Das Geheimnis ist die Zeichenfolge des „Setup-Schlüssels“, die bei der Ersteinrichtung der Zwei-Faktor-Authentifizierung (2FA) unter dem QR-Code angezeigt wird. Wenn Sie es bereits in einer Authenticator-App auf Ihrem Smartphone hinterlegt haben, können Sie dasselbe Geheimnis hier eingeben, um den Code gegenzuprüfen.
  • Manche Dienste verwenden statt SHA-1 einen anderen Hash-Algorithmus (SHA-256 oder SHA-512). Stimmt der generierte Code nicht mit Ihrer App überein, versuchen Sie, den Algorithmus zu wechseln.
  • Der Code wird automatisch alle 30 Sekunden aktualisiert; ein Fortschrittsbalken zeigt die verbleibende Zeit an. Kopieren Sie einen Code kurz vor Ablauf mit Vorsicht, da er ungültig werden kann, bevor er beim Zieldienst ankommt.
  • Beim Schließen dieses Browser-Tabs wird das Geheimnis vollständig verworfen und nirgendwo gespeichert. Möchten Sie es als Backup aufbewahren, speichern Sie das Geheimnis selbst an einem sicheren Ort, etwa in einem Passwort-Manager.

Wofür sich der Generator eignet

Eine Authenticator-App prüfen oder umziehen

Bevor Sie das Gerät wechseln und neu einrichten, können Sie hier bestätigen, dass das gesicherte Secret stimmt – ohne es erst auf dem neuen Telefon herauszufinden.

Anmeldungen in der Entwicklungsumgebung testen

Wenn Sie dem eigenen Dienst Zwei-Faktor-Authentifizierung hinzufügen, erzeugen Sie aus dem Secret eines Testkontos jederzeit Codes, um die Authentifizierungslogik zu prüfen.

Ein gesichertes Secret überprüfen

Bestätigen Sie rasch, dass ein im Passwortmanager abgelegtes Secret weiterhin funktioniert, ohne die App auf dem Telefon zu öffnen.

Die Kontosicherheit insgesamt stärken

Wenn Sie auch die Stärke des Kennworts selbst überdenken möchten, lohnt ein Blick auf den Passwortgenerator und den Generator für einprägsame Passphrasen.

Die zugrunde liegende Hash-Berechnung erkunden

Wenn Sie HMAC und Hash-Funktionen hinter TOTP interessieren, zeigt der SHA-256-Hashrechner den Baustein für sich genommen.

Begriffe rund um TOTP

TOTP (Time-based One-Time Password)
Ein Verfahren (RFC 6238), das ein Einmalkennwort aus einem von der aktuellen Uhrzeit abgeleiteten Zähler erzeugt. Der Code wechselt automatisch in festem Takt, üblicherweise alle dreißig Sekunden.
HOTP (HMAC-based One-Time Password)
Der ältere Standard (RFC 4226), auf dem TOTP aufbaut. Statt der Uhr nutzt er einen Zähler, der sich mit jeder Verwendung um eins erhöht.
Secret (gemeinsamer Schlüssel)
Der geheime Schlüssel, den Dienst und Authenticator-App beide vorhalten. Er wird bei der Anmeldung als Base32-Zeichenkette ausgegeben; aus ihm und der Uhrzeit entsteht der Code.
Zwei-Faktor-Authentifizierung (2FA)
Ein Anmeldeverfahren, das Wissen – das Kennwort – mit Besitz verbindet, meist einer Authenticator-App auf dem Telefon. Selbst wenn eines davon abfließt, bleibt unbefugter Zugriff deutlich schwerer.
Zeitschritt
Der Takt, in dem ein TOTP-Code wechselt. RFC 6238 gibt dreißig Sekunden als Vorgabe vor, und die meisten Dienste und Apps übernehmen diesen Wert unverändert.
Base32
Eine Kodierung, die eine Bytefolge allein mit den 32 Zeichen A–Z und 2–7 darstellt. TOTP-Secrets werden in dieser Form verteilt, weil sie sich gut lesen und abschreiben lässt.
Dynamische Kürzung
Der Schritt, der aus der langen HMAC-Ausgabe nach fester Regel vier Bytes entnimmt und in eine sechsstellige Zahl umwandelt. Er ist in RFC 4226 definiert und HOTP wie TOTP gemeinsam.

Häufig gestellte Fragen

Ja. Die Base32-Dekodierung und die HMAC-Berechnung laufen vollständig in Ihrem Browser über die Web Crypto API und werden niemals an einen Server gesendet. Sie können dies selbst überprüfen, indem Sie den Netzwerkverkehr beobachten – das eingegebene Geheimnis wird nie übertragen.

Meist liegt es an einem abweichenden Hash-Algorithmus (die meisten Dienste nutzen SHA-1, manche jedoch SHA-256 oder SHA-512) oder an einer nicht synchronisierten Uhrzeit. Versuchen Sie zunächst, den Algorithmus zu wechseln; stimmt der Code weiterhin nicht überein, prüfen Sie, ob die automatische Zeitsynchronisierung Ihres Geräts aktiviert ist.

TOTP gilt im Allgemeinen als sicherer. SMS-Nachrichten können durch die Übernahme einer Telefonnummer (SIM-Swapping-Betrug) abgefangen werden, während TOTP vollständig auf dem Gerät berechnet wird und gegen diese Art von Angriff nicht anfällig ist.

Die meisten Dienste stellen bei der Ersteinrichtung von 2FA „Wiederherstellungscodes“ aus. Haben Sie das Geheimnis selbst verloren, müssen Sie die Zwei-Faktor-Authentifizierung über das Kontowiederherstellungsverfahren des Dienstes (Identitätsprüfung) neu einrichten.
Tool-kun

Übrigens – Warum sich Zwei-Faktor-Codes auf 6 Ziffern eingependelt haben

OATH (die Initiative for Open Authentication), die die TOTP-Spezifikation (RFC 6238) entworfen hat, übernahm einfach den dynamischen Trunkierungsalgorithmus von HOTP (RFC 4226) und überließ die Codelänge der jeweiligen Implementierung. Dass sich sechs Ziffern als De-facto-Industriestandard durchgesetzt haben, liegt vor allem daran, dass Google Authenticator diese Länge in seiner ursprünglichen Implementierung von 2010 verwendete – viele weitere Dienste und Bibliotheken folgten diesem Beispiel.

Sechs Ziffern sind zudem ein idealer Kompromiss: Eine Million möglicher Kombinationen (10^6) machen in Verbindung mit dem kurzen 30-Sekunden-Gültigkeitsfenster Brute-Force-Angriffe praktisch unmöglich, während eine längere Zahl für Menschen unpraktisch zu merken und einzutippen wäre. Dass auch die meisten SMS-Bestätigungscodes 6-stellig sind, ist kein Zufall – die Branche hat sich für diese Art „kurzlebiger, einmal verwendbarer Zifferncode“ auf diese Länge geeinigt.

Der Vorgänger von TOTP, HOTP (RFC 4226, 2005), verwendete einen Zähler, der bei jeder Codeverwendung um eins erhöht werden musste. In der Praxis führte dies häufig zu Synchronisationsproblemen – etwa wenn Nutzer vergaßen, eine Taste zu drücken, oder die Zähler von Gerät und Server auseinanderliefen. Das 2011 standardisierte TOTP ersetzte den Zähler durch die aktuelle Uhrzeit, einen Referenzwert, auf den sich alle einigen können, und vereinfachte den Betrieb dadurch erheblich.