TOTP-Generator
Jedes Mal, wenn Google Authenticator oder Authy einen sechsstelligen Code anzeigt, der sich alle 30 Sekunden ändert, ist das TOTP: ein HMAC aus einem gemeinsamen geheimen Schlüssel und der aktuellen Unix-Zeit, standardisiert in RFC 6238. Dieser Generator berechnet dieselben Codes aus jedem beliebigen Base32-Schlüssel. Das ist praktisch, um eine neue Integration der Zwei-Faktor-Authentifizierung (2FA) zu debuggen, herauszufinden, warum ein Dienst Ihre Codes ablehnt, oder zu beobachten, wie der Algorithmus auf andere Parameter reagiert. Verwenden Sie hier Testschlüssel: Der Code wird auf unserem Server berechnet, die echten Schlüssel Ihrer Konten gehören in eine Authenticator-App und nicht auf eine Webseite.
So funktioniert dieser TOTP-Generator
-
1
Base32-Schlüssel einfügen
Buchstaben A-Z und Ziffern 2-7, das Format aus otpauth://-QR-Codes. Leerzeichen und Kleinbuchstaben sind in Ordnung; alles andere wird als ungültiges Base32 gemeldet.
-
2
Hash-Algorithmus wählen
SHA-1 verwenden fast alle Dienste; wechseln Sie nur zu SHA-256 oder SHA-512, wenn der Dienst es ausdrücklich verlangt.
-
3
Stellen und Periode festlegen
Wählen Sie 6, 7 oder 8 Stellen und ein Fenster von 30 oder 60 Sekunden. Die Standardkombination ist 6 Stellen alle 30 Sekunden.
-
4
Aktuellen Code ablesen
Der Code aktualisiert sich jede Sekunde, und der Countdown zeigt, wie viele Sekunden das aktuelle Fenster noch hat.
-
5
otpauth-URI vergleichen
Das Tool zeigt die otpauth://-URI für Ihre Parameter an, sodass Sie sie mit dem vergleichen können, was der Einrichtungs-QR-Code eines Dienstes codiert.
Der Algorithmus in einfachen Worten
TOTP ist HOTP (HMAC-basiertes Einmalpasswort, RFC 4226), bei dem der Zähler durch die aktuelle Unix-Zeit geteilt durch den Zeitschritt (üblicherweise 30 Sekunden) ersetzt wird:
counter = floor(unix_time / 30)
hash = HMAC-SHA1(secret, counter_as_8_byte_big_endian)
offset = last byte of hash AND 0x0F
truncated = 4 bytes from offset, with the top bit zeroed
code = truncated mod 10^digits
Ihr Gerät und der Server rechnen mit demselben Schlüssel und derselben Uhr dieselbe Mathematik, deshalb kommen beide auf denselben Code, ohne dass der Code jemals übertragen wird. Ein 6-stelliger Code ist einfach der gekürzte HMAC modulo 10^6. Keine Magie, nur Hashing.
Übliche Parameter
| Dienst | Algorithmus | Stellen | Periode |
|---|---|---|---|
| Die meisten Websites und Apps | SHA-1 | 6 | 30 s |
| GitHub | SHA-1 | 6 | 30 s |
| Cloudflare | SHA-1 | 6 | 30 s |
| Microsoft-Konten | SHA-1 | 6 | 30 s |
| Einige Banken und Firmen-VPNs | SHA-256 oder SHA-512 | 8 | 60 s |
Lehnt ein Dienst Ihre Codes ab, prüfen Sie zuerst Stellenzahl und Periode, danach den Algorithmus. Beachten Sie außerdem, dass manche Authenticator-Apps abweichende Parameter stillschweigend ignorieren (Google Authenticator behandelte historisch alles als SHA-1, 6 Stellen, 30 Sekunden). Testen Sie also immer mit genau der App, die Ihre Nutzer verwenden werden.
Schlüssel sicher aufbewahren
- Versenden Sie einen 2FA-Schlüssel nie per E-Mail oder Nachricht. Sobald er in einem Postfach liegt, bleibt er dauerhaft in den Logs und Backups des Anbieters.
- Richten Sie 2FA per QR-Code-Scan ein. Der QR-Code enthält eine
otpauth://totp/...-URI, die Schlüssel, Algorithmus, Stellen und Periode eindeutig zusammenfasst. - Sichern Sie den Schlüssel bei der Einrichtung. Bewahren Sie die Wiederherstellungscodes oder den Schlüssel selbst in einem Passwort-Manager auf; ohne sie sperrt Sie ein verlorenes Telefon aus.
- Ein Schlüssel pro Dienst. Jeder Dienst erzeugt bei der Einrichtung seinen eigenen Schlüssel; falls einer bekannt wird, richten Sie 2FA dort neu ein, damit der alte Schlüssel ungültig wird.
Zeitabweichung
TOTP funktioniert nur, solange beide Uhren übereinstimmen. Diese Seite berechnet die Codes mit der Uhr des Servers. Weicht der Code hier von Ihrer Authenticator-App ab, ist der erste Verdächtige die Uhr des Geräts. Die meisten Prüfsysteme akzeptieren ein Fenster Abweichung in jede Richtung (30 bis 60 Sekunden); darüber hinaus synchronisieren Sie die Geräteuhr per NTP, bevor Sie den Schlüssel verdächtigen.
Verwenden Sie hier Testschlüssel
Dieses Tool berechnet den Code auf unserem Server: Der eingegebene Schlüssel wird bei jeder Aktualisierung über HTTPS übertragen und erscheint zudem in der Seiten-URL, wenn Sie zwischen den Schritten des Tools wechseln. Für Entwicklung, Demos und Debugging mit Wegwerfschlüsseln ist das in Ordnung. Für den echten Schlüssel, der Ihr E-Mail- oder Bankkonto schützt, ist das der falsche Ort; er gehört in eine dedizierte Authenticator-App auf Ihrem Telefon. Haben Sie einen echten Schlüssel bereits außerhalb Ihres Authenticators eingefügt, richten Sie die 2FA bei diesem Dienst neu ein, damit der Schlüssel rotiert wird.
Häufig gestellte Fragen
Betrachten Sie diese Seite als Entwickler- und Testwerkzeug, nicht als Tresor. Der Code wird serverseitig berechnet, der Schlüssel wird also über HTTPS an unseren Server übertragen und kann zwischen den Schritten in der Seiten-URL erscheinen. Demo- und Entwicklungsschlüssel können Sie bedenkenlos verwenden; fügen Sie aber nie den echten Schlüssel eines Kontos ein, das Ihnen wichtig ist. Falls bereits geschehen, richten Sie die 2FA bei dem Dienst neu ein, um den Schlüssel zu rotieren.
Prüfen Sie zuerst die Parameter: Algorithmus, Stellenzahl und Periode müssen exakt dem entsprechen, was der Dienst ausgegeben hat. Prüfen Sie dann die Uhren: Diese Seite verwendet die Serveruhr, eine Abweichung deutet also meist auf das andere Gerät. Und denken Sie daran, dass manche Apps abweichende Parameter ignorieren, das klassische Beispiel ist Google Authenticator.
Nur Base32: Buchstaben A bis Z und Ziffern 2 bis 7, optional mit =-Padding. Leerzeichen werden entfernt, Kleinschreibung wird automatisch umgewandelt. Hex- oder Rohbyte-Schlüssel müssen zuerst nach Base32 konvertiert werden, sonst meldet das Tool ein ungültiges Base32-Secret.
Dann sind Sie aus der 2FA dieses Kontos ausgesperrt. Nutzen Sie den Wiederherstellungsweg des Dienstes (Wiederherstellungscodes, Identitätsprüfung, SMS-Fallback). Speichern Sie die Wiederherstellungscodes oder den ursprünglichen QR-Code bei der Einrichtung immer an einem sicheren Ort.
Ja. Erzeugen Sie serverseitig einen zufälligen Schlüssel mit mindestens 128 Bit (RFC 4226 empfiehlt 160), zeigen Sie ihn einmalig als QR-Code an und validieren Sie eingereichte Codes mit derselben HMAC-Berechnung, üblicherweise mit einem Fenster Toleranz in jede Richtung. Ausgereifte Bibliotheken gibt es für jeden Stack: pyotp (Python), otplib (JavaScript), rotp (Ruby).
Verwandte Tools
A1Z26-Code-Encoder
Text mit dem A1Z26-Code (A=1, B=2, ... Z=26) codieren oder eine Zahlenfolge zurück in Buchstaben decodieren, mit anpassbarem Trennzeichen.
Zahlen-zu-Buchstaben-Chiffre
Wandeln Sie Zahlen in Buchstaben und zurück mit der Chiffre A=1, B=2 (A1Z26) für Rätsel, Knobelaufgaben und Escape-Room-Hinweise.
Datei-Hash-Rechner
Berechnen Sie MD5-, SHA-1-, SHA-256- und SHA-512-Hashes von eingefügtem Text oder Dateiinhalten, um Downloads und Dateiintegrität zu prüfen.
JWT-Generator
Generieren Sie signierte JWTs mit benutzerdefiniertem Header, Payload-Ansprüchen, HMAC- oder RSA-Signierung, Ablauf- und Zielbeschränkungen für Tests.
Prüfsummen-Verifizierer
Berechne die Prüfsumme (MD5, SHA-1, SHA-256, SHA-384, SHA-512 oder CRC-32) einer beliebigen Datei oder eines Textes und gleiche sie mit dem Wert ab, den der Herausgeber angibt, um ein klares Übereinstimmungs- oder Abweichungsergebnis zu erhalten.
Cipher-Identifikator
Fügen Sie den Chiffretext ein, und der Identifikator schlägt wahrscheinliche Kodierungs-/Cipher-Schemata vor: Base64, hex, binär, Morse, Caesar oder Substitution, JWT und gängige Hashes.
Tool in anderen Sprachen verfügbar
- ตัวสร้าง TOTP [TH]
- Generador TOTP [ES]
- Generator TOTP [PL]
- TOTPジェネレーター [JA]
- Gerador TOTP [PT]
- TOTP-generator [SV]
- Bộ tạo TOTP [VI]
- مولد TOTP [AR]
- Générateur TOTP [FR]
- Generator TOTP [ID]
- TOTP 생성기 [KO]
- TOTP-generator [NL]
- TOTP Üretici [TR]
- TOTP 生成器 [ZH]
- TOTP Generator [EN]
- Generatore TOTP [IT]
- Генератор TOTP [RU]