> totp | authenticator | generator <
Erzeuge zeitbasierte (TOTP) und zählerbasierte (HOTP) Einmalpasswörter aus einem Base32-Geheimnis. 2FA-Setups testen, Abweichungen bei Authenticator-Apps finden und otpauth://-URIs erstellen – alles lokal im Browser.
Geheimnisse verlassen deinen Browser nie. Trotzdem keine echten Produktivschlüssel auf fremden Rechnern einfügen.
OTPAUTH-URI
QR-Code für eine Authenticator-App nötig? Füge die URI in den QR-Code-Generator
Live-Codes mit Countdown
Base32-Geheimnis einfügen und aktuellen sowie nächsten Code erhalten, in jeder Periode erneuert, mit Fortschrittsbalken bis zum Ablauf.
SHA-1, SHA-256, SHA-512
6, 7 oder 8 Stellen und beliebige Periode. HMAC läuft über die Web Crypto API und stimmt mit den Testvektoren von RFC 4226 und RFC 6238 überein.
otpauth-URI-Builder & Import
Erstelle otpauth://-URIs für Authenticator-Apps oder importiere eine vorhandene, um alle Felder automatisch zu füllen. Nichts wird hochgeladen.
>> technische details
So funktionieren Einmalpasswörter:
HOTP (RFC 4226) berechnet HMAC(Geheimnis, Zähler) und kürzt das Ergebnis auf 6–8 Stellen. TOTP (RFC 6238) ist HOTP, bei dem der Zähler die Unix-Zeit geteilt durch die Periode (meist 30 Sekunden) ist. So ändert sich der Code in jeder Periode, und beide Seiten stimmen ohne Kommunikation überein. Das gemeinsame Geheimnis wird üblicherweise als Base32-Text oder als QR-Code mit einer otpauth://-URI ausgetauscht.
Beispiel:
RFC 6238 test vector (SHA-1) secret = GEZDGNBVGY3TQOJQGEZDGNBVGY3TQOJQ time = 59 -> counter = 59 / 30 = 1 code (8 digits) = 94287082
Warum diesen TOTP-Generator nutzen:
- >Zwei-Faktor-Authentifizierung beim Entwickeln eines Logins testen und debuggen
- >Herausfinden, warum Authenticator-App und Server unterschiedliche Codes haben
- >otpauth://-URIs mit passendem Aussteller, Algorithmus, Stellen und Periode erstellen
- >Codes mit festen Zeitstempeln über die Unix-Zeit-Eingabe prüfen
>> häufige fragen
F: Wie funktioniert TOTP?
A: App und Server teilen ein Geheimnis. Beide berechnen den HMAC aus dem Geheimnis und dem aktuellen Zeitschritt (Unix-Zeit geteilt durch die Periode, standardmäßig 30 Sekunden) und kürzen ihn auf einen 6-stelligen Code. Stimmen beide Uhren überein, entsteht derselbe Code.
F: Ist es sicher, mein Geheimnis hier einzugeben?
A: Die Berechnung läuft vollständig im Browser mit der Web Crypto API, nichts wird an einen Server gesendet. Dennoch ist ein TOTP-Geheimnis der Schlüssel zu deinem Konto: Füge echte Produktivgeheimnisse nicht auf geteilten oder nicht vertrauenswürdigen Rechnern ein und nutze zum Debuggen lieber Testkonten.
F: Warum stimmt mein Code nicht mit der Authenticator-App überein?
A: Häufige Ursachen sind eine falsche Uhrzeit (TOTP braucht eine auf wenige Sekunden genaue Zeit), ein anderer Algorithmus, eine andere Stellenzahl oder Periode oder ein Tippfehler im Geheimnis. Prüfe, ob SHA-1, 6 Stellen und 30 Sekunden gewählt sind – das nutzen fast alle Dienste.
F: Was ist der Unterschied zwischen TOTP und HOTP?
A: HOTP nutzt einen Zähler, der nur beim Verwenden eines Codes steigt, sodass ein Code gültig bleibt, bis er verbraucht wird. TOTP leitet den Zähler von der Uhr ab, Codes laufen also in jeder Periode automatisch ab. Für Endnutzer-2FA ist TOTP weit verbreiteter.
F: Was ist eine otpauth://-URI?
A: Es ist der Text im QR-Code, den du beim Aktivieren von 2FA scannst, etwa otpauth://totp/Example:user@example.com?secret=...&issuer=Example. Sie enthält Geheimnis, Aussteller, Konto und optional Algorithmus, Stellen und Periode. Füge sie ins Importfeld ein, um das Geheimnis auszulesen.
F: Welche Einstellungen unterstützen Authenticator-Apps?
A: Google Authenticator und viele andere Apps ignorieren die Parameter für Algorithmus, Stellen und Periode und nutzen immer SHA-1, 6 Stellen und 30 Sekunden. Nutze diese Standardwerte, sofern du nicht weißt, dass App und Server etwas anderes unterstützen.