bitlvl
DE

TOTP- / 2FA-Code-Generator

Fügen Sie das Secret einer 2FA-Einrichtung ein (den Base32-String oder den ganzen otpauth://-Link) und sehen Sie den Code, den Ihre Authenticator-App zeigen sollte, mit den verbleibenden Sekunden. Alles bleibt in der Seite.

------

Mit Google Authenticator, Aegis, 1Password oder jeder TOTP-App scannen, um dieses Secret hinzuzufügen. Der QR-Code wird in Ihrem Browser gezeichnet; das Secret wird nirgendwohin gesendet.

Die Ergebnisse und Meldungen dieses Tools werden auf Englisch angezeigt.

Wie TOTP funktioniert

Beim Scannen eines 2FA-QR-Codes speichert die App ein gemeinsames Secret, typischerweise 20 Zufallsbytes als 32-stelliger Base32-String. Alle 30 Sekunden berechnet sie HMAC-SHA1(Secret, ⌊jetzt / 30⌋), nimmt vier Bytes aus dem Ergebnis an einem Offset, den das letzte Nibble vorgibt, und reduziert diese Zahl modulo 10⁶ auf sechs Stellen. Der Server macht dasselbe und akzeptiert meist auch das vorige und nächste Fenster, um Uhrenabweichung zu tolerieren. Auf dem Telefon ist kein Netzwerk beteiligt, weshalb Authenticator-Apps offline funktionieren.

Die otpauth-URI

Der QR-Code enthält eine URI wie otpauth://totp/Example:[email protected]?secret=JBSWY3DPEHPK3PXP&issuer=Example&digits=6&period=30&algorithm=SHA1. Hier eingefügt füllt sie jeden Parameter aus. Die meisten Dienste nutzen die Vorgaben (SHA-1, 6 Stellen, 30 s); einige nutzen 8 Stellen oder SHA-256, und manche Apps ignorieren den Algorithmus-Parameter, eine häufige Ursache für „der Code ist falsch“-Tickets.

Eine 2FA-Einrichtung debuggen

  1. Das Secret hier und in der App eingeben; die Codes müssen übereinstimmen. Wenn nicht, wurde das Secret falsch getippt oder die App ignoriert die Parameter.
  2. Stimmen die Codes überein, aber der Server lehnt sie ab, geht die Serveruhr falsch. TOTP setzt voraus, dass beide Seiten sich bis auf das Fenster genau über die Zeit einig sind.
  3. Prüfen, dass der Server mit einem Fenster von ±1 verifiziert und die Wiederverwendung desselben Codes ablehnt (Replay).

Sicherheitshinweise

Das Secret ist die ganze Sicherheit: Wer es hat, kann für immer Codes erzeugen. Speichern Sie es verschlüsselt, loggen Sie es nie, und bevorzugen Sie WebAuthn / Passkeys, wo möglich, da TOTP-Codes in Echtzeit gephisht werden können. Diese Seite ist für Entwickler, die ihre eigene Einrichtung testen; behandeln Sie jedes in einen Browser eingefügte Secret als Testdaten.

Fragen

Warum unterscheidet sich mein Code von der App?

Prüfen Sie, dass das Secret identisch ist (Base32 ignoriert Groß-/Kleinschreibung und Leerzeichen, aber jeder Buchstabe zählt), dass Stellen, Periode und Algorithmus dem entsprechen, was der Dienst vorgibt, und dass Ihre Computeruhr stimmt. Ein Code, der genau ein Fenster danebenliegt, bedeutet eine Uhrendifferenz von etwa 30 Sekunden.

Was ist das Base32-Alphabet?

A–Z und 2–7; kein 0, 1, 8 oder 9, damit Secrets beim Vorlesen eindeutig sind. Padding mit = ist optional. Das Tool lehnt andere Zeichen ab und sagt, welche.

Was ist der Unterschied zwischen TOTP und HOTP?

HOTP (RFC 4226) nutzt einen Zähler, der bei jeder Verwendung hochzählt; TOTP (RFC 6238) ersetzt den Zähler durch die aktuelle Zeit geteilt durch die Periode. Hardware-Tokens mit Knopf sind HOTP; Apps sind TOTP. Geben Sie oben einen Zähler ein, um HOTP zu berechnen.

Kann ich Codes für Google Authenticator oder Authy erzeugen?

Ja, beide implementieren Standard-TOTP. Steam Guard und manche Banking-Apps nutzen proprietäre Varianten, die dieses Tool nicht nachbildet.