TOTP & HOTP

TOTP (Time-based One-Time Password, RFC 6238) et HOTP (HMAC-based One-Time Password, RFC 4226) sont les deux RFC qu'implémentent tous les QR d'enrôlement 2FA. Le schéma URI otpauth:// encodé est le standard de facto de Google Authenticator, universel sur toutes les grandes applications d'authentification.

Spec TOTP :RFC 6238 (basé sur le temps, 2011).
Spec HOTP :RFC 4226 (basé sur compteur, 2005).
Schéma URI :Google Authenticator Key URI Format, le format sur lequel tous les authentificateurs s'accordent.

Ce que c'est

Un QR d'enrôlement 2FA est une URL dans le schéma otpauth:// qui porte le secret partagé plus des métadonnées d'identification. Format :

otpauth://TYPE/LABEL?secret=SECRET&issuer=ISSUER&algorithm=ALG&digits=N&period=SEC

Vecteurs de test canoniques

CasEntréesURI otpauth:// attendu
TOTP, minimal (SHA1, 6 chiffres, 30 s)issuer=GitHub
account=alice@example.com
secret=JBSWY3DPEHPK3PXP
otpauth://totp/GitHub:alice@example.com?secret=JBSWY3DPEHPK3PXP&issuer=GitHub
TOTP, SHA256, 8 chiffresissuer=Corp
account=bob
secret=JBSWY3DPEHPK3PXP
algorithm=SHA256
digits=8
otpauth://totp/Corp:bob?secret=JBSWY3DPEHPK3PXP&issuer=Corp&algorithm=SHA256&digits=8
HOTP, counter=0issuer=YubiKey
account=carol
secret=JBSWY3DPEHPK3PXP
counter=0
otpauth://hotp/YubiKey:carol?secret=JBSWY3DPEHPK3PXP&issuer=YubiKey&counter=0
TOTP, secret de référence RFC 6238issuer=Example
account=test
secret=GEZDGNBVGY3TQOJQGEZDGNBVGY3TQOJQ
digits=8
Secret de test RFC standard (12345678901234567890). Produit TOTP 94287082 à T=59 s.

Validateur de secret Base32 en direct

Les apps d'authentification rejettent les secrets qui contiennent quoi que ce soit hors de l'alphabet Base32 (A-Z, 2-7). Voici le même validateur qu'Abundera exécute dans le générateur TOTP, tourne dans votre navigateur.

Entrez un secret à valider.

Pièges courants

Compatibilité des apps d'authentification

AppTOTP SHA1TOTP SHA256/512HOTP8 chiffresNotes
Google AuthenticatorOuiIgnoréOuiIgnoréLa référence de facto. Toujours cibler cela en premier.
1PasswordOuiOuiOuiOuiSupport RFC complet.
AuthyOuiOuiNonOuiSupprime HOTP dans les versions récentes.
BitwardenOuiOuiOuiOuiSupport RFC complet.
Microsoft AuthenticatorOuiOuiOuiOuiSupport RFC complet.
YubiKey AuthenticatorOuiOuiOuiOuiHOTP est le mode canonique YubiKey.
Duo MobileOuiIgnoréNonIgnoréUtilise son propre flux push ; TOTP est uniquement en fallback.

Voir aussi

Références de spec vérifiées le 2026-04-18. RFC 6238 (2011), RFC 4226 (2005), Google Key URI Format.