Générateur de codes TOTP
Générez des codes 2FA TOTP et HOTP à partir d’un secret Base32 ou d’une URI otpauth://, en SHA-1, SHA-256 ou SHA-512, avec compte à rebours et QR code.
Un secret 2FA est aussi sensible qu’un mot de passe. Tout se passe dans votre navigateur : le secret, les codes et le QR code ne sont jamais envoyés.
- Code précédent
- —
- Code actuel
- —
- Code suivant
- —
Les codes TOTP dépendent de l’horloge de votre appareil. S’ils ne correspondent pas, vérifiez que l’heure est réglée automatiquement.
Configurer une application d’authentification
Indiquez un émetteur et un nom de compte, puis scannez le QR code ou copiez le lien otpauth:// dans votre application d’authentification.
Comment générer des codes TOTP
- Collez un secret Base32 (par exemple
JBSWY3DPEHPK3PXP) ou un lienotpauth://complet dans Secret (Base32) ou URI otpauth://. Les espaces, les tirets, les minuscules et l’absence de remplissage=sont acceptés. - Les codes s’affichent pendant la saisie, ou avec Afficher les codes. Une URI collée remplit automatiquement les champs Type, Algorithme, Chiffres, Période (secondes), Émetteur et Compte.
- Lisez le Code actuel au centre, entouré du Code précédent et du Code suivant. La barre indique le temps restant avant le changement de code, et Copier le code le copie sans l’espace.
- Pour des codes à compteur, choisissez HOTP (basé sur un compteur), réglez le Compteur puis avancez avec Compteur suivant.
- Pour créer un nouveau secret 2FA, cliquez sur Nouveau secret aléatoire. Renseignez l’Émetteur et le Compte, puis scannez le QR code avec une application d’authentification, utilisez Copier l’URI ou Télécharger le QR code (PNG).
Le fonctionnement de TOTP et HOTP
HOTP (RFC 4226) calcule un HMAC d’un compteur de 8 octets avec le secret partagé, puis applique une troncature dynamique : les quatre derniers bits du HMAC désignent une position, on y lit quatre octets, on efface le bit de poids fort et on garde le reste de la division par 10^chiffres. On obtient un code de 6 à 8 chiffres.
TOTP (RFC 6238) n’est autre que HOTP dont le compteur est le pas de temps courant : T = partie entière (heure Unix / période), avec une période de 30 secondes par défaut. Votre téléphone et le serveur calculent le même code chacun de leur côté, car ils partagent le secret et, à peu près, la même heure. C’est pourquoi le Code précédent et le Code suivant sont affichés : les serveurs acceptent en général un pas d’écart pour absorber une légère dérive d’horloge.
Le HMAC est calculé par l’API Web Crypto du navigateur, en SHA-1, SHA-256 ou SHA-512. SHA-1 avec 6 chiffres et 30 secondes est la configuration de presque tous les services ; SHA-256 et SHA-512 sont prévus par la RFC 6238, mais certaines applications les ignorent : ne changez les réglages que si le service le demande.
L’URI otpauth:// et le QR code
Les applications d’authentification se configurent avec une URI du type otpauth://totp/Exemple:alice@exemple.fr?secret=…&issuer=Exemple&algorithm=SHA1&digits=6&period=30, le plus souvent présentée sous forme de QR code. Cet outil lit ces URI (y compris les libellés encodés comme ACME%20Co) et en construit de nouvelles. Le QR code est dessiné localement à partir de l’URI affichée sous URI otpauth://.
Un nouveau secret aléatoire compte 20 octets (160 bits), la longueur recommandée par la RFC 4226, tirés avec crypto.getRandomValues.
Conseils de sécurité
- Le secret est le second facteur lui-même : quiconque le possède peut produire vos codes. Ne collez pas les secrets de comptes importants sur un ordinateur partagé et ne diffusez jamais de capture du QR code.
- Tout est calculé localement, rien ne transite sur le réseau. Fermez l’onglet une fois terminé.
- Conservez les codes de secours fournis par le service : un secret perdu ne se récupère pas.
Questions fréquentes
Pourquoi mon code ne correspond-il pas à celui de mon application ?
Vérifiez d’abord l’horloge de votre appareil : un code TOTP change à chaque période, donc une heure décalée de plus d’une trentaine de secondes donne des codes différents. Contrôlez ensuite que l’algorithme, le nombre de chiffres et la période sont ceux du service.
Cet outil est-il compatible avec Google Authenticator et les applications similaires ?
Oui. Il suit la RFC 6238 et le format d’URI otpauth utilisé par ces applications. Scannez le QR code ou saisissez le secret Base32 dans l’application : les deux doivent afficher le même Code actuel.
Quelle différence entre TOTP et HOTP ?
TOTP avance avec le temps : un code expire à la fin de la période. HOTP avance avec un compteur qui augmente à chaque utilisation : un code reste valable tant qu’il n’a pas servi.
Puis-je m’en servir comme authentificateur au quotidien ?
Il est pensé pour les tests, le développement et le dépannage. Une application mobile ou une clé matérielle est plus sûre au quotidien, car le secret n’a pas à être collé dans une page web à chaque fois.
Les calculs ont-ils été vérifiés avec les normes ?
Oui. L’outil est testé avec les valeurs HOTP de l’annexe D de la RFC 4226 et les valeurs TOTP de l’annexe B de la RFC 6238, en SHA-1, SHA-256 et SHA-512.
Outils similaires
- Générateur HMAC Calculez un HMAC-SHA1, SHA-256, SHA-384 ou SHA-512 avec une clé texte, hex ou Base64, en hex et Base64, et vérifiez une signature de webhook dans le navigateur.
- Générateur de mot de passe Générateur de mot de passe gratuit : créez des mots de passe forts de 4 à 128 caractères dans votre navigateur. Rien n'est enregistré ni envoyé.
- Générateur de code QR Créez un code QR gratuit pour un lien, un texte, un réseau Wi-Fi, une carte de visite, un courriel ou un SMS, avec couleurs et logo, en PNG ou SVG.
- Partage de secret de Shamir Divisez un mot de passe ou une phrase de récupération en N parts, dont M suffisent à le reconstituer, avec le partage de secret de Shamir, dans le navigateur.