RFC 6238 · Live im Browser berechnet · keine Daten verlassen dein Gerät
VisualTOTP
Verstehe, wie aus einem Secret und der aktuellen Uhrzeit ein 6-stelliger Einmalcode entsteht — Schritt für Schritt, farbig visualisiert und live debuggbar.
🔐
Was ist TOTP?
Time-based One-Time Password: ein Code, der sich alle 30 Sekunden ändert und auf einem geteilten Geheimnis + der Uhrzeit basiert.
🤝
Warum funktioniert es?
Server und App kennen dasselbe Secret und dieselbe Zeit. Beide rechnen denselben HMAC — kein Code muss übertragen werden.
🧮
Wie entsteht der Code?
HMAC aus Secret + Zeitzähler, dann „Dynamic Truncation" auf eine Zahl, schließlich modulo 10^6 → 6 Ziffern.
Aktueller TOTP-Code
------
Counter T = · SHA-1 · 6 Stellen · 30s
30
Sek. gültig🗺️ Der komplette Datenfluss
Secret (Base32) Unix-Zeit (jetzt)
│ │
▼ ▼
Base32-Decode T = ⌊(time − T0) / 30⌋
│ │
│ ▼
│ C = 8-Byte Big-Endian(T)
│ │
└───────┐ ┌───────┘
▼ ▼
HMAC-SHA1( K , C ) ──► 20-Byte Digest
│
▼
offset = Digest[19] & 0x0F (letztes Nibble)
│
▼
P = Digest[offset..+3] & 0x7FFFFFFF (31-Bit)
│
▼
code = P mod 10^6 ──► "123456"