> totp | authenticator | generator <

Générez des mots de passe à usage unique basés sur le temps (TOTP) ou sur un compteur (HOTP) à partir d'un secret Base32. Testez vos configurations 2FA, diagnostiquez les écarts d'authentificateur et créez des URI otpauth:// – tout en local.

------

------

Les secrets ne quittent jamais votre navigateur. Évitez malgré tout de coller des secrets de production réels sur un ordinateur partagé.

URI OTPAUTH

Besoin d'un QR code pour une application d'authentification ? Collez l'URI dans le Générateur de QR code

[01]

Codes en direct avec compte à rebours

Collez un secret Base32 et obtenez le code actuel et le suivant, renouvelés à chaque période, avec une barre de progression avant l'expiration.

[02]

SHA-1, SHA-256, SHA-512

Choisissez 6, 7 ou 8 chiffres et n'importe quelle période. Le HMAC passe par l'API Web Crypto et correspond aux vecteurs de test des RFC 4226 et 6238.

[03]

Créateur et importateur d'URI otpauth

Créez des URI otpauth:// pour les applications d'authentification ou importez-en une pour remplir tous les champs automatiquement. Rien n'est envoyé.

>> informations techniques

Fonctionnement des mots de passe à usage unique:

HOTP (RFC 4226) calcule HMAC(secret, compteur) et tronque le résultat à 6-8 chiffres. TOTP (RFC 6238) est un HOTP dont le compteur vaut le temps Unix divisé par la période (généralement 30 secondes) : le code change à chaque période et les deux parties concordent sans communiquer. Le secret partagé est en général échangé sous forme de texte Base32 ou de QR code contenant une URI otpauth://.

Exemple:

RFC 6238 test vector (SHA-1) secret = GEZDGNBVGY3TQOJQGEZDGNBVGY3TQOJQ time = 59 -> counter = 59 / 30 = 1 code (8 digits) = 94287082

Pourquoi utiliser ce générateur TOTP:

  • >Tester et déboguer l'authentification à deux facteurs pendant le développement d'une connexion
  • >Comprendre pourquoi une application d'authentification et un serveur ne donnent pas le même code
  • >Créer des URI otpauth:// avec le bon émetteur, algorithme, nombre de chiffres et période
  • >Vérifier des codes à des horodatages fixes grâce au champ de temps Unix

>> questions fréquentes

Q : Comment fonctionne TOTP ?

R : Votre application et le serveur partagent un secret. Tous deux calculent le HMAC du secret et de l'intervalle de temps courant (temps Unix divisé par la période, 30 secondes par défaut), puis le tronquent en code à 6 chiffres. Si les deux horloges concordent, les codes sont identiques.

Q : Est-il sûr de saisir mon secret ici ?

R : Le calcul se fait entièrement dans votre navigateur avec l'API Web Crypto et rien n'est envoyé à un serveur. Un secret TOTP reste toutefois la clé de votre compte : ne collez pas de vrais secrets de production sur un ordinateur partagé ou non fiable, et préférez des comptes de test pour déboguer.

Q : Pourquoi mon code ne correspond-il pas à mon application ?

R : Les causes les plus courantes : horloge incorrecte (TOTP exige une heure précise à quelques secondes), algorithme, nombre de chiffres ou période différents, ou secret copié avec une faute. Vérifiez que SHA-1, 6 chiffres et 30 secondes sont sélectionnés, ce qu'utilisent presque tous les services.

Q : Quelle différence entre TOTP et HOTP ?

R : HOTP utilise un compteur qui n'avance que lorsqu'un code est utilisé : un code reste valable jusqu'à son utilisation. TOTP déduit le compteur de l'horloge, donc les codes expirent automatiquement à chaque période. TOTP est bien plus courant pour la 2FA grand public.

Q : Qu'est-ce qu'une URI otpauth:// ?

R : C'est le texte contenu dans le QR code que vous scannez en activant la 2FA, par exemple otpauth://totp/Example:user@example.com?secret=...&issuer=Example. Elle contient le secret, l'émetteur, le compte et, en option, l'algorithme, les chiffres et la période. Collez-la dans la zone d'import pour en extraire le secret.

Q : Quels réglages les applications d'authentification acceptent-elles ?

R : Google Authenticator et beaucoup d'autres applications ignorent les paramètres d'algorithme, de chiffres et de période et utilisent toujours SHA-1, 6 chiffres et 30 secondes. Gardez ces valeurs par défaut sauf si vous savez que l'application et le serveur gèrent autre chose.

Autres langues