Alle Visuals
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"