Mots de passe aléatoires à base de lettres, de chiffres et de symboles via crypto.getRandomValues.
Générateur de codes TOTP/HOTP
L'outil lui-même est en anglais ; cette page vous l'explique dans votre langue.
Utilisez Générateur de codes TOTP/HOTP
Fonctionnalités
Génère des mots de passe à usage unique basés sur le temps (TOTP) ou sur un compteur (HOTP) à partir d'une clé secrète au format Base32, comme le font les applications d'authentification, et vérifie si un code correspond. Utile pour tester votre propre configuration d'authentification à deux facteurs (2FA).
Tout se passe entièrement dans votre navigateur : aucune des données que vous saisissez n'est transmise.
Comment utiliser Générateur de codes TOTP/HOTP
- Saisissez le secret. Collez le secret Base32 de votre propre compte de test dans Secret key (Base32), ou appuyez sur Random pour obtenir un nouveau secret de 32 caractères.
- Adaptez les paramètres de votre application. Sélectionnez le type de code (TOTP, basé sur le temps, ou HOTP, basé sur un compteur), l'algorithme et le nombre de chiffres. La plupart des applications d'authentification utilisent le TOTP, l'algorithme HMAC-SHA-1 et 6 chiffres.
- Afficher le code. Pour le TOTP, appuyez sur « Démarrer le TOTP » : le code s'affiche avec un compte à rebours et est recalculé toutes les secondes. Pour le HOTP, réglez le compteur et appuyez sur « Afficher le code HOTP » ; « Suivant » permet de passer au compteur suivant.
- Vérifier un code. Saisissez un code provenant de votre application ou d'un serveur dans le champ « Vérifier un code », puis cliquez sur « Vérifier ». Le résultat indique si le code correspond et pour quel intervalle de temps ou compteur.
- Arrêter et effacer. Appuyez sur « Stop » lorsque vous avez terminé ; le dernier code reste affiché à l'écran. Videz vous-même le champ secret.
Exemple
Secret de test RFC 6238
GEZDGNBVGY3TQOJQGEZDGNBVGY3TQOJQ412568Il s'agit de la clé de test 12345678901234567890 de la RFC 6238, publiée au format Base32. La page affiche son code actuel à six chiffres ainsi que le nombre de secondes restant avant le prochain ; il s'agit du même code qu'affiche une application d'authentification pour ce secret. En passant en mode HOTP avec un compteur à 0, elle affiche 755224, la première valeur de test de la norme RFC 4226.
Ce qu'il vérifie
| Signal | Ce que cela signifie |
|---|---|
| Le code | HMAC correspondant à l'intervalle de temps (TOTP) ou au compteur (HOTP), tronqué à 6 ou 8 chiffres, conformément aux spécifications des normes RFC 4226 et RFC 6238. Il n'est validé par une application que si le type, l'algorithme et le nombre de chiffres correspondent. |
| Actualisation en ns · pas de temps N | Nombre de secondes restantes dans la fenêtre actuelle de 30 secondes et numéro d'étape, tels qu'ils sont indiqués par l'horloge de votre appareil. Si l'horloge est déréglée, le code précédent ou suivant s'affiche. |
| Compteur N · cliquer sur « Suivant » | En mode HOTP, le code correspond à ce compteur. Chaque code n'est utilisé qu'une seule fois ; les serveurs attendent ensuite le compteur suivant. |
| Ce n'est pas du Base32 : ... | Le mot de passe contient des caractères autres que ceux de la plage A–Z et 2–7, tels que 0, 1, 8 ou 9. Les espaces, les tirets et le signe « = » sont ignorés, et les lettres minuscules sont acceptées. |
| le secret ne comporte que N bits | La clé secrète est plus courte que les 128 bits (26 caractères Base32) exigés par la norme RFC 4226. Les codes s'affichent toujours, mais une telle clé secrète est plus facile à deviner. |
| Valide : correspond à ... | Vérifiez que le code correspondant à l'étape temporelle en cours ou au compteur HOTP figure bien dans le champ. |
| Valable pour l'étape précédente ou suivante | Le code correspond à un intervalle de 30 secondes avant ou après l'instant présent (indiqué en orange). Il existe généralement un léger décalage horaire entre les deux appareils. |
| Aucun résultat | Ni les pas de temps vérifiés ni les compteurs ne correspondent. Vérifiez le secret, l'horloge, l'algorithme et le nombre de chiffres. |
D'autres exemples
Clé de test RFC 4226, HOTP
GEZDGNBVGY3TQOJQGEZDGNBVGY3TQOJQAvec un code de type HOTP, HMAC-SHA-1, 6 chiffres et un compteur à 0, le code est 755224 ; la commande « Next » renvoie 287082 pour un compteur à 1, conformément aux valeurs de test publiées dans la RFC 4226.
Vérifier un code un compteur plus loin
GEZDGNBVGY3TQOJQGEZDGNBVGY3TQOJQEn mode HOTP avec un compteur à 0, lorsque l'on saisit 287082 dans la rubrique « Vérifier un code », le message suivant s'affiche : « Valide pour le compteur 1 », soit 1 de plus que la valeur du compteur.
Ce n'est pas un secret au format Base32
0189ERREUR avec le message « Pas de Base32 : « 0 », « 1 », « 8 », « 9 », car Base32 n'utilise que les lettres A à Z et les chiffres 2 à 7. »
FAQ
Que calcule-t-il exactement ?
Codes TOTP générés à partir de l'heure actuelle par incréments de 30 secondes (RFC 6238) ou codes HOTP pour un compteur que vous avez défini (RFC 4226), avec HMAC-SHA-1, SHA-256 ou SHA-512 et 6 ou 8 chiffres ; la plupart des applications d'authentification utilisent SHA-1 et 6 chiffres. Vérifiez qu'un code correspond à l'intervalle de temps actuel et à un intervalle de plus ou de moins d'une seconde, ou au compteur HOTP et aux 9 suivants ; tout code contenant des caractères autres que ceux de l'alphabet (A-Z) et des chiffres (2-7) est rejeté avec un message d'erreur.
Un code TOTP me protège-t-il du phishing ?
Pas complètement. Les kits de phishing de type adversary-in-the-middle transmettent le code au vrai site pendant que vous le tapez : il est donc capturé avec le mot de passe. Les passkeys et les clés de sécurité FIDO2 y résistent, car elles sont liées au vrai domaine.
Le secret est-il envoyé ou enregistré quelque part ?
Non. Les codes sont générés dans votre navigateur à l'aide de l'API Web Crypto et le secret n'est jamais transmis ni enregistré. Le TOTP repose sur l'horloge de votre appareil ; ainsi, une horloge mal réglée génère des codes différents.
Comment puis-je vérifier la conformité des codes avec les RFC ?
Utilisez la clé de test 12345678901234567890, en Base32 : GEZDGNBVGY3TQOJQGEZDGNBVGY3TQOJQ. En mode HOTP, le compteur 0 donne 755224 et le compteur 1 donne 287082 (RFC 4226). La norme RFC 6238 indique la valeur 94287082 pour 8 chiffres, 59 secondes après le 1er janvier 1970 UTC ; le mode TOTP utilise toujours l'heure actuelle.
Quelle est la différence entre le TOTP et le HOTP ?
Le HOTP (RFC 4226) comptabilise les utilisations : chaque code est associé à un compteur qui augmente d'une unité. Le TOTP (RFC 6238) est un HOTP dont le compteur est réglé sur l'intervalle de temps actuel de 30 secondes ; le code change donc au rythme de l'horloge.
Pourquoi mon application affiche-t-elle un code différent ?
Vérifiez d'abord l'heure, car un écart de 30 secondes modifie le code. Vérifiez ensuite que le code secret ne contient pas de fautes de frappe et déterminez si le compte utilise SHA-256, SHA-512, 8 chiffres ou un compteur à la place de l'heure, puis configurez les mêmes options ici.
Dois-je coller ici un vrai secret 2FA ?
Évitez-le. Le secret reste dans votre navigateur, mais quiconque le voit ou le copie peut produire vos codes jusqu'à ce que vous réinitialisiez la 2FA de ce compte. Pour transférer la 2FA vers un nouveau téléphone, utilisez l'option de transfert ou de réinitialisation propre au compte.