TOTP-Generator

Tippen Sie den Geheimschlüssel ein, den Ihr Dienst für die Zwei-Faktor-Anmeldung angegeben hat. Diese Seite berechnet den aktuellen Einmalcode in Ihrem Browser, mit Countdown, den Codes davor und danach und HOTP für einen Zähler.

Kostenlos Läuft in Ihrem Browser Stand: Dienstag, 10. November 2026

Dieses Werkzeug läuft in Ihrem Browser. Was Sie eingeben, wird nicht an uns gesendet.

So verwenden Sie es

  1. Tragen Sie den Geheimschlüssel von der Seite Ihres Dienstes für die Zwei-Faktor-Anmeldung ein, oder fügen Sie den otpauth://-Text aus dem QR-Code ein. Drücken Sie Anzeigen, um das Eingegebene zu prüfen.
  2. Wählen Sie den Hash, die Stellen und den Zeitabschnitt, die der Dienst nennt. Viele Dienste nutzen die Vorgaben des Key-URI-Formats: SHA-1, 6 Stellen und 30 Sekunden.
  3. Bei einem zählerbasierten Dienst wählen Sie Zählerbasiert (HOTP) und tragen den Zähler ein. Zähler + 1 setzt ihn weiter.
  4. Lesen Sie den Aktueller Code ab, bevor die Verbleibende Zeit abläuft. Prüfen Sie den Vorheriger Code und den Nächster Code, wenn die Uhr Ihres Geräts etwas abweicht.

So entsteht ein Code

HOTP (RFC 4226) nimmt den geheimen Schlüssel und einen Zähler, bildet einen HMAC des Zählers mit dem Hash und nimmt davon vier Bytes (dynamische Kürzung). Die Zahl, die diese Bytes ergeben, modulo 10 hoch der Stellenzahl, ist der Code.

TOTP (RFC 6238) ist HOTP mit einem Zähler aus der Zeit: der Unixzeit in Sekunden, geteilt durch den Zeitabschnitt und abgerundet. Mit jedem Zeitabschnitt beginnt ein neuer Code, daher braucht man auf beiden Seiten eine genaue Uhr.

TOTP = HOTP(Schlüssel, abgerundet(Unixzeit ÷ Zeitabschnitt));   HOTP = kürzen(HMAC(Schlüssel, Zähler)) mod 10^Stellen

Geheimschlüssel und otpauth://-URIs

Der Geheimschlüssel ist ein Text in Base32 (RFC 4648): die Buchstaben A bis Z und die Ziffern 2 bis 7. Leerzeichen werden ignoriert, und das Auffüllen darf fehlen. Ein Schlüssel mit einem Zeichen außerhalb dieser Menge oder mit einer unmöglichen Länge wird abgelehnt.

Eine otpauth://-URI (Key URI Format von Google) enthält die Art, die Bezeichnung, den Schlüssel und die optionalen Angaben Aussteller, Algorithmus, Stellen, Zeitabschnitt und Zähler. Fehlende Angaben nehmen die Vorgaben des Formats: SHA1, 6 Stellen, 30 Sekunden und Zähler 0.

Wie die Seite geprüft wurde

Der Code wird gegen die Testwerte von RFC 4226, Anhang D (Zähler 0 bis 9), und RFC 6238, Anhang B (sechsmal, für SHA-1, SHA-256 und SHA-512 mit acht Stellen) geprüft. Den HMAC berechnet die SubtleCrypto Ihres Browsers.

Rechenbeispiel: der Testschlüssel aus RFC 6238

Der Testschlüssel der RFC ist der Text 12345678901234567890, der in Base32 GEZDGNBVGY3TQOJQGEZDGNBVGY3TQOJQ ist. Bei der Unixzeit 59 und einem Zeitabschnitt von 30 Sekunden ergibt Schritt 1 von TOTP den achtstelligen Code 94287082 für SHA-1.

Mit sechs Stellen ergibt derselbe Schritt 287082, der Code aus RFC 4226 für den Zähler 1. Es sind die letzten sechs Stellen des achtstelligen Wertes.

Häufig gestellte Fragen

Wird der Geheimschlüssel oder der Code an einen Server gesendet?

Nein. Der Code wird in Ihrem Browser berechnet, und die Seite stellt keine Anfrage, die den Schlüssel oder den Code enthält. Nichts wird gespeichert, und ein Neuladen vergisst beides.

Sollte ich hier den Geheimschlüssel eines echten Kontos eingeben?

Nur auf einer Seite, der Sie vertrauen, und nur, wenn niemand Ihren Bildschirm sehen kann. Für ein echtes Konto ist Ihre Authenticator-App der übliche Ort, denn sie bewahrt den Schlüssel für den Alltag auf. Diese Seite eignet sich für Ihre eigenen Werkzeuge und für Codes, die Sie einmal brauchen.

Warum ändert sich der Code alle 30 Sekunden?

Ein zeitbasierter Code (TOTP) zählt die Zeitabschnitte seit der Unix-Epoche, daher beginnt mit jedem Abschnitt ein neuer Code. Der Countdown zeigt, wie lange der aktuelle noch gilt.

Warum stimmt mein Code nicht mit der App des Dienstes überein?

Prüfen Sie den Geheimschlüssel (nur Base32), den Hash, die Stellen und den Zeitabschnitt, die der Dienst nennt. Prüfen Sie dann, ob die Uhr Ihres Geräts stimmt, denn ein zeitbasierter Code hängt davon ab. Der vorherige und der nächste Code helfen, einen kleinen Uhrenunterschied zu erkennen.

Welchen Hash sollte ich wählen?

Wählen Sie den, den der Dienst angibt. SHA-1 ist die Vorgabe von HOTP nach RFC 4226 und des otpauth-Formats. RFC 6238 erlaubt für TOTP auch SHA-256 und SHA-512.

Was ist der Unterschied zwischen TOTP und HOTP?

TOTP nutzt die Zeit, daher ändert sich der Code mit jedem Zeitabschnitt. HOTP nutzt einen Zähler, der sich bei jeder Verwendung weiterzählt, daher bleibt der Code gleich, bis sich der Zähler ändert.

Was macht der Text otpauth://?

Er trägt die Einstellungen eines Zwei-Faktor-Schlüssels im Key-URI-Format, meist in einem QR-Code. Wenn Sie ihn hier einfügen, werden Schlüssel, Hash, Stellen, Zeitabschnitt und Zähler eingetragen.

Quellen

Zahlen und Text zuletzt geprüft: Dienstag, 10. November 2026.

Wir verwenden notwendige Cookies, damit die Website funktioniert. Mit Ihrer Einwilligung verwendet Google außerdem Werbe-Cookies, um personalisierte Anzeigen zu zeigen. Wenn Sie diese ablehnen, sehen Sie weiterhin Anzeigen, sie werden aber nicht personalisiert.