TOTP-Generator — 2FA-Codes erzeugen und otpauth-QR-Codes bauen
Mach aus einem Base32-Secret live 2FA-Codes mit Countdown, baue einen otpauth://-QR-Code für Authenticator-Apps oder lies eine bestehende URI aus.
Die Codes hängen von der Uhr deines Geräts ab. Werden sie abgelehnt, prüfe, ob die Uhrzeit automatisch eingestellt wird; die meisten Server akzeptieren auch den vorherigen und den nächsten Code.
otpauth://-URI und QR-Code
otpauth://totp/Example%20Inc:jane%40example.com?secret=GEZDGNBVGY3TQOJQGEZDGNBVGY3TQOJQ&issuer=Example%20Inc&algorithm=SHA1&digits=6&period=30
Scanne ihn mit Google Authenticator, Microsoft Authenticator, 1Password, Authy oder einer beliebigen TOTP-App. Viele Apps ignorieren SHA-256/512 und 8 Stellen; behalte die Standardwerte bei, sofern du nicht beide Seiten kontrollierst.
otpauth://-URI auslesen
Secrets und Codes bleiben in deinem Browser. Nichts wird gesendet oder gespeichert. Behandle ein TOTP-Secret wie ein Passwort: Wer es hat, kann deine Codes erzeugen. Alle kostenlosen Tools ansehen.
Ein Problem gefunden oder etwas, das besser sein könnte? Wir lesen jede Nachricht und beheben Fehler schnell.
Dieser TOTP-Generator erzeugt dieselben zeitbasierten Einmalcodes wie Google Authenticator, Microsoft Authenticator, 1Password und andere Authenticator-Apps. Gib ein Base32-Secret ein, und der aktuelle 6- oder 8-stellige Code erscheint mit Countdown, dazu der vorherige und der nächste Code. Das Tool ist für Entwickler gebaut, die Zwei-Faktor-Authentifizierung in eine Anwendung einbauen: Secret erzeugen, die otpauth://-URI und den QR-Code bauen, den deine Nutzer scannen, und prüfen, ob dein Server die Codes akzeptiert, die er akzeptieren sollte.
Die Codes werden in deinem Browser mit der HMAC-Funktion von WebCrypto berechnet, nach RFC 6238 (TOTP) und RFC 4226 (HOTP), und die Implementierung ist mit den offiziellen Testvektoren beider RFCs getestet. Nichts wird irgendwohin gesendet. Trotzdem ist ein TOTP-Secret so sensibel wie ein Passwort: Wer es besitzt, kann gültige Codes erzeugen. Nutze das Tool für Testkonten und Integrationsarbeit, nicht als Ersatz für eine Authenticator-App bei deinen echten Konten.
So funktioniert’s
- Füge ein Base32-Secret ein oder klicke auf Neues zufälliges Secret. Leerzeichen und Kleinbuchstaben sind kein Problem.
- Lass Algorithmus, Ziffern und Intervall auf SHA-1, 6 und 30 Sekunden, es sei denn, dein Server verwendet etwas anderes.
- Lies den aktuellen Code ab; der Ring zeigt, wie viele Sekunden er noch gültig ist. Kopiere ihn mit dem Button.
- Fülle Aussteller und Kontoname aus, um die otpauth://-URI zu bauen, und scanne dann den QR-Code mit einer Authenticator-App, um zu prüfen, dass beide denselben Code zeigen.
- Um eine bestehende Einrichtung zu untersuchen, füge ihre otpauth://-URI in den Reader ein und klicke auf Laden.
Häufige Fragen
Wie funktioniert ein TOTP-Code?
Dein Server und deine Authenticator-App teilen sich einen geheimen Schlüssel. Alle 30 Sekunden berechnen beide HMAC-SHA1 aus dem Schlüssel und der Zahl der 30-Sekunden-Schritte seit dem 1. Januar 1970 und kürzen das Ergebnis auf 6 Ziffern. Weil beide Seiten dasselbe Secret und dieselbe Uhr verwenden, erhalten sie denselben Code, ohne miteinander zu kommunizieren. Das ist RFC 6238; der zugrunde liegende zählerbasierte Algorithmus ist HOTP, RFC 4226.
Warum funktioniert mein TOTP-Code nicht?
Die mit Abstand häufigste Ursache ist eine falsch gehende Uhr. Eine Abweichung von mehr als etwa 30 Sekunden versetzt das Gerät in einen anderen Zeitschritt; stell Gerät und Server so ein, dass sie die Zeit automatisch synchronisieren. Weitere Ursachen: Das Secret wurde falsch eingegeben (Base32 verwendet nur A–Z und 2–7, O, I, 0, 1 und 8 kommen also nie vor), oder der Server erwartet andere Einstellungen wie 8 Ziffern, SHA-256 oder ein 60-Sekunden-Intervall.
Ist SHA-1 in TOTP unsicher?
Nein. Die bekannten Schwächen von SHA-1 sind Kollisionsangriffe, mit denen sich zwei Eingaben mit demselben Hash erzeugen lassen. TOTP verwendet SHA-1 innerhalb von HMAC mit einem geheimen Schlüssel, einer Konstruktion, die nicht von Kollisionsresistenz abhängt und sicher bleibt. SHA-1 ist weiterhin der Standard, weil nahezu jede Authenticator-App es unterstützt.
Was ist eine otpauth://-URI?
Es ist der Text in einem QR-Code zur 2FA-Einrichtung, im ursprünglich von Google Authenticator definierten Key Uri Format: otpauth://totp/Issuer:account?secret=BASE32SECRET&issuer=Issuer, optional mit den Parametern algorithm, digits und period. Beim Scannen des QR-Codes wird einfach diese Zeichenkette an die App übergeben. Wer den QR-Code oder die URI sieht, hat das Secret – behandle Einrichtungsbildschirme also als sensibel.
Wie lang sollte ein TOTP-Secret sein?
RFC 4226 verlangt mindestens 128 Bit und empfiehlt 160 Bit, also 32 Base32-Zeichen. Der Button Neues zufälliges Secret erzeugt 160 Bit mit crypto.getRandomValues. Viele ältere Dienste vergeben 80-Bit-Secrets (16 Zeichen); die funktionieren, und dieses Tool warnt davor, aber neue Systeme sollten mindestens 160 Bit verwenden.
Unterstützen alle Authenticator-Apps 8 Ziffern und SHA-256?
Nein. Das otpauth-Format erlaubt SHA256, SHA512, 8 Ziffern und andere Intervalle, aber manche Apps ignorieren diese Parameter und erzeugen immer 6-stellige SHA-1-Codes mit 30 Sekunden, die dann nicht passen. Wenn du den Server kontrollierst, sind die Standardwerte die sichere Wahl. Scanne den QR-Code von dieser Seite mit den Apps, die deine Nutzer wahrscheinlich verwenden, und vergleiche die Codes, bevor du eine abweichende Einstellung ausrollst.
TOTP in deine eigene Anwendung einbauen
• Erzeuge auf dem Server pro Nutzer ein zufälliges Secret mit mindestens 160 Bit und speichere es verschlüsselt, nicht gehasht: Der Server braucht das Original, um Codes zu berechnen.
• Zeige die otpauth://-URI als QR-Code, dazu das Base32-Secret als Text für Nutzer, die nicht scannen können.
• Verlange vor dem Aktivieren von 2FA die Eingabe eines gültigen Codes, damit ein fehlgeschlagener Scan niemanden aussperrt.
• Akzeptiere beim Prüfen den aktuellen Code und meist einen Schritt davor und danach (den hier gezeigten vorherigen und nächsten Code), um Uhrabweichungen auszugleichen, und lehne einen Code ab, der in diesem Zeitfenster schon verwendet wurde, um Replay-Angriffe zu verhindern.
• Begrenze die Versuche. Ein 6-stelliger Code hat nur eine Million Möglichkeiten, unbegrenztes Raten hebelt ihn also aus.
• Gib bei der Einrichtung Einmal-Wiederherstellungscodes aus und hashe sie wie Passwörter.
TOTP im Vergleich zu SMS-Codes, Push und Passkeys
TOTP ist weit stärker als SMS-Codes, die sich über SIM-Swapping und Schwachstellen in SS7 abfangen lassen, und funktioniert offline ohne Telefonnummer. Seine Schwäche ist Phishing: Eine überzeugend gefälschte Login-Seite kann den Code abfragen und ihn innerhalb des 30-Sekunden-Fensters an die echte Website weiterreichen.
Push-Bestätigungen sind bequem, laden aber zu „MFA-Fatigue“-Angriffen ein, bei denen ein Angreifer so lange Anfragen schickt, bis der Nutzer auf Bestätigen tippt. Passkeys und Hardware-Sicherheitsschlüssel (FIDO2/WebAuthn) sind die einzigen gängigen Methoden, die Phishing von Grund auf widerstehen, weil der Browser die Zugangsdaten an die Domain der echten Website bindet. Ein sinnvoller Ansatz ist, zuerst Passkeys anzubieten und TOTP als breit unterstützten Fallback zu behalten.
Ähnliche kostenlose Tools
- Passwort-Generator — Erzeuge ein sicheres Zufallspasswort, eine einprägsame Passphrase oder eine PIN. Läuft komplett in deinem Browser, nichts wird gesendet oder gespeichert.
- QR-Code-Generator — Erstelle einen QR-Code für URL, Text, E-Mail, Telefon, SMS, WLAN oder Kontaktkarte in deinen Farben und lade ihn als PNG oder SVG herunter. Codes laufen nie ab.
- Bcrypt-Generator — Hashe ein Passwort mit bcrypt bei frei wählbaren Kosten, prüfe ein Passwort gegen einen bcrypt-Hash und sieh, was jeder Teil des Hashs bedeutet.
- Hash-Generator — Hashe Text oder Dateien mit MD5, SHA-1, SHA-256, SHA-384, SHA-512 und CRC32, prüfe eine Prüfsumme oder berechne einen HMAC. Dateien verlassen nie dein Gerät.