Why are most TOTP codes only 6 digits?
Six digits provide 1 million possible codes per 30-second window. An attacker has a 1-in-1,000,000 chance of guessing correctly (0.0001%). Combined with rate limiting (typically 3-5 attempts before lockout), this provides strong security. Eight-digit codes reduce the probability to 1-in-100,000,000 and are used in some enterprise applications. The RFC supports any digit count.
Can I use the same secret in multiple authenticator apps?
Yes. The secret is just a Base32 string — you can enter it in Google Authenticator, Authy, 1Password, and Bitwarden simultaneously. They will all generate the same codes. This is also why you should scan the QR code with your backup method during setup, before dismissing the setup page.
Why does this tool use HMAC-SHA1 if SHA-1 is deprecated?
SHA-1 is deprecated for collision resistance (creating two inputs with the same hash), not for HMAC. HMAC-SHA1 is used differently than raw SHA-1 — it computes a keyed hash where the attacker doesn't control both inputs. No practical attack against HMAC-SHA1 exists. The RFC mandates HMAC-SHA1 for compatibility with Google Authenticator, though some implementations support HMAC-SHA256 or HMAC-SHA512 as options.