TOTP- und HOTP-Code-Generator
TOTP- und HOTP-Codes für die Zwei-Faktor-Authentifizierung aus einem Base32-Geheimnis oder einer otpauth://-URI erzeugen – mit Countdown und QR-Code.
Ein 2FA-Geheimnis ist so sensibel wie ein Passwort. Alles läuft lokal in Ihrem Browser: Geheimnis, Codes und QR-Code werden nirgendwohin gesendet.
- Vorheriger Code
- —
- Aktueller Code
- —
- Nächster Code
- —
TOTP-Codes hängen von der Uhr Ihres Geräts ab. Stimmen sie nicht überein, prüfen Sie, ob die Uhrzeit automatisch eingestellt wird.
Authenticator-App einrichten
Geben Sie einen Aussteller und einen Kontonamen ein und scannen Sie dann den QR-Code oder kopieren Sie den otpauth://-Link in Ihre Authenticator-App.
So erzeugen Sie TOTP-Codes
- Fügen Sie ein Base32-Geheimnis (zum Beispiel
JBSWY3DPEHPK3PXP) oder einen vollständigenotpauth://-Link in das Feld Geheimnis (Base32) oder otpauth://-URI ein. Leerzeichen, Bindestriche, Kleinbuchstaben und fehlendes=-Padding werden akzeptiert. - Die Codes erscheinen beim Tippen oder nach einem Klick auf „Codes anzeigen“. Eine eingefügte URI füllt die Felder Typ, Algorithmus, Stellen, Intervall (Sekunden), Aussteller und Konto automatisch aus.
- Lesen Sie den Aktuellen Code in der Mitte ab, links und rechts davon den Vorherigen Code und den Nächsten Code. Der Balken darunter zählt die Sekunden bis zum Codewechsel herunter, und „Code kopieren“ kopiert den Code ohne Leerzeichen.
- Für zählerbasierte Codes wählen Sie „HOTP (zählerbasiert)“, setzen den Zähler und gehen mit „Nächster Zähler“ weiter.
- Um ein neues 2FA-Geheimnis zu erstellen, klicken Sie auf „Neues Zufallsgeheimnis“. Füllen Sie Aussteller und Konto aus und scannen Sie dann den QR-Code mit einer Authenticator-App, nutzen Sie „URI kopieren“ oder „QR-Code herunterladen (PNG)“.
So funktionieren TOTP und HOTP
HOTP (RFC 4226) berechnet einen HMAC über einen 8-Byte-Zähler mit dem gemeinsamen Geheimnis und wendet dann die dynamische Kürzung (dynamic truncation) an: Die letzten vier Bits des HMAC bestimmen einen Offset, ab dem vier Bytes gelesen werden. Das höchste Bit wird gelöscht und die Zahl modulo 10^Stellen reduziert. Heraus kommt ein 6- bis 8-stelliger Code.
TOTP (RFC 6238) ist HOTP, bei dem der Zähler der aktuelle Zeitschritt ist: T = floor(Unix-Zeit / Intervall), standardmäßig mit einem Intervall von 30 Sekunden. Ihr Smartphone und der Server berechnen denselben Code unabhängig voneinander, weil sie dasselbe Geheimnis und (ungefähr) dieselbe Uhrzeit haben. Deshalb zeigt das Tool auch den Vorherigen Code und den Nächsten Code: Server akzeptieren meist einen Schritt davor oder danach, um Abweichungen der Uhr auszugleichen.
Der HMAC wird mit der Web-Crypto-API Ihres Browsers berechnet, wahlweise mit SHA-1, SHA-256 oder SHA-512. SHA-1 mit 6 Stellen und 30 Sekunden verwendet fast jeder Dienst. SHA-256 und SHA-512 sind nach RFC 6238 zulässig, werden aber von manchen Apps ignoriert – ändern Sie die Standardwerte also nur, wenn der Dienst es verlangt.
Die otpauth://-URI und der QR-Code
Authenticator-Apps werden mit einer URI wie otpauth://totp/Example:alice@example.com?secret=…&issuer=Example&algorithm=SHA1&digits=6&period=30 eingerichtet, die meist als QR-Code angezeigt wird. Dieses Tool liest solche URIs (auch mit prozentkodierten Bezeichnungen wie ACME%20Co) und erstellt neue. Der QR-Code wird lokal aus der URI gezeichnet, die unter otpauth://-URI steht.
Ein neues Zufallsgeheimnis ist 20 Byte (160 Bit) lang – die von RFC 4226 empfohlene Länge – und stammt aus crypto.getRandomValues.
Sicherheitstipps
- Das Geheimnis ist der zweite Faktor selbst: Wer es kennt, kann Ihre Codes erzeugen. Fügen Sie Geheimnisse wichtiger Konten nicht auf gemeinsam genutzten Rechnern ein und teilen Sie nie Screenshots des QR-Codes.
- Alles wird lokal berechnet, nichts wird über das Netzwerk gesendet. Schließen Sie den Tab, wenn Sie fertig sind.
- Bewahren Sie die Backup-Codes des Dienstes auf: Ein verlorenes Geheimnis lässt sich nicht wiederherstellen.
Häufige Fragen
Warum stimmt mein Code nicht mit dem in meiner App überein?
Prüfen Sie zuerst die Uhr Ihres Geräts: TOTP-Codes wechseln mit jedem Intervall, eine Uhr, die mehr als etwa 30 Sekunden abweicht, liefert also andere Codes. Prüfen Sie danach, ob Algorithmus, Stellen und Intervall mit den Vorgaben des Dienstes übereinstimmen.
Ist das Tool mit Google Authenticator und ähnlichen Apps kompatibel?
Ja. Es folgt RFC 6238 und dem otpauth-URI-Format dieser Apps. Scannen Sie den QR-Code oder geben Sie das Base32-Geheimnis in der App ein – beide sollten denselben Aktuellen Code anzeigen.
Was ist der Unterschied zwischen TOTP und HOTP?
TOTP schreitet mit der Zeit voran, ein Code läuft also nach dem Intervall ab. HOTP schreitet mit einem Zähler voran, der bei jeder Nutzung eines Codes steigt; ein Code bleibt gültig, bis er verwendet oder ersetzt wird.
Kann ich das Tool als alltäglichen Authenticator nutzen?
Es ist für Tests, Entwicklung und Wiederherstellung gedacht. Eine Smartphone-App oder ein Hardware-Schlüssel ist im Alltag sicherer, weil das Geheimnis nicht jedes Mal in eine Webseite eingefügt werden muss.
Wurden die Berechnungen anhand der Standards geprüft?
Ja. Das Tool wird mit den HOTP-Werten aus Anhang D von RFC 4226 und den TOTP-Werten aus Anhang B von RFC 6238 für SHA-1, SHA-256 und SHA-512 getestet.
Ähnliche Tools
- HMAC-Generator HMAC-SHA1, SHA-256, SHA-384 oder SHA-512 mit Text-, Hex- oder Base64-Schlüssel berechnen, als Hex und Base64 ausgeben und Webhook-Signaturen im Browser prüfen.
- Passwort-Generator Kostenloser Passwort-Generator: sichere Zufallspasswörter mit 4 bis 128 Zeichen direkt im Browser erstellen. Nichts wird gespeichert oder gesendet.
- QR-Code-Generator QR-Codes kostenlos erstellen für Links, Text, WLAN, Kontakte, E-Mail und SMS. Mit Farben und Logo, Download als PNG oder SVG, alles lokal im Browser.
- Shamir Secret Sharing – Geheimnis aufteilen Passwort oder Seed-Phrase mit Shamir Secret Sharing über GF(256) in N Anteile aufteilen, von denen beliebige M es wiederherstellen – lokal im Browser.