KullGames LiveAuthenticator
A real RFC 6238 TOTP / RFC 4226 HOTP implementation from OnlyCSharp 3.0 Cybersecurity.Cryptography.OneTimePassword (OcTotp / OcHotp / OcOtpAuthUri) - the same algorithm behind Google Authenticator and Authy. Every code below is computed live at build time. No JavaScript, no WASM.
Live code (build-time snapshot)
Demo shared secret (NOT a real credential): MySuperSecretKey123!
| Field | Value |
|---|---|
| Unix time sampled | 1784570844 |
| Current 6-digit code | 898986 |
| Refreshes in | 6 s |
| Round-trip Verify() | True |
otpauth:// provisioning URI (what a QR code would encode):
otpauth://totp/KullGames%20LiveAuthenticator%20Demo:demo%40kullgames.com?secret=JV4VG5LQMVZFGZLDOJSXIS3FPEYTEMZB&issuer=KullGames%20LiveAuthenticator%20Demo&algorithm=SHA1&digits=6&period=30
RFC 4226 HOTP test vectors (Appendix D)
Key = ASCII "12345678901234567890", 6 digits, SHA-1. Passed 10/10.
| Counter | Computed | RFC expected | Match |
|---|---|---|---|
| 0 | 755224 | 755224 | OK |
| 1 | 287082 | 287082 | OK |
| 2 | 359152 | 359152 | OK |
| 3 | 969429 | 969429 | OK |
| 4 | 338314 | 338314 | OK |
| 5 | 254676 | 254676 | OK |
| 6 | 287922 | 287922 | OK |
| 7 | 162583 | 162583 | OK |
| 8 | 399871 | 399871 | OK |
| 9 | 520489 | 520489 | OK |
RFC 6238 TOTP test vectors (Appendix B)
8-digit codes, 30s period, per-hash keys. Passed 18/18.
| Unix time | Algorithm | Computed | RFC expected | Match |
|---|---|---|---|---|
| 59 | SHA1 | 94287082 | 94287082 | OK |
| 59 | SHA256 | 46119246 | 46119246 | OK |
| 59 | SHA512 | 90693936 | 90693936 | OK |
| 1111111109 | SHA1 | 07081804 | 07081804 | OK |
| 1111111109 | SHA256 | 68084774 | 68084774 | OK |
| 1111111109 | SHA512 | 25091201 | 25091201 | OK |
| 1111111111 | SHA1 | 14050471 | 14050471 | OK |
| 1111111111 | SHA256 | 67062674 | 67062674 | OK |
| 1111111111 | SHA512 | 99943326 | 99943326 | OK |
| 1234567890 | SHA1 | 89005924 | 89005924 | OK |
| 1234567890 | SHA256 | 91819424 | 91819424 | OK |
| 1234567890 | SHA512 | 93441116 | 93441116 | OK |
| 2000000000 | SHA1 | 69279037 | 69279037 | OK |
| 2000000000 | SHA256 | 90698825 | 90698825 | OK |
| 2000000000 | SHA512 | 38618901 | 38618901 | OK |
| 20000000000 | SHA1 | 65353130 | 65353130 | OK |
| 20000000000 | SHA256 | 77737706 | 77737706 | OK |
| 20000000000 | SHA512 | 47863826 | 47863826 | OK |