Comment générer un code OTP avec un secret Base32
Apprenez comment générer un code OTP sécurisé à 6 ou 8 chiffres en mode TOTP ou HOTP à partir d'une clé secrète Base32 et de l'algorithme HMAC-SHA1.
Pour générer un code de validation temporaire ou événementiel, saisissez une clé secrète encodée en Base32, sélectionnez le protocole TOTP ou HOTP, puis définissez la longueur désirée et la période ou le compteur.
Choisir le protocole adapté à votre authentification
L'application de double authentification repose sur deux mécanismes standardisés calculés avec l'algorithme HMAC-SHA1 : TOTP (RFC 6238) et HOTP (RFC 4226). Le mode temporel TOTP calcule le code à partir de l'heure système Unix et d'une durée de validité en secondes. Le mode événementiel HOTP s'appuie quant à lui sur un compteur numérique incrémenté à chaque tentative sans consulter l'horloge.
Pour tester vos clés ou vérifier vos accès, utilisez le Générateur OTP en ligne.
Étapes pour calculer votre code OTP
- Saisissez votre clé secrète au format Base32 dans le champ prévu. Le moteur ignore automatiquement les espaces et traite les lettres minuscules sans distinction.
- Choisissez le mode de calcul entre TOTP (temporel) et HOTP (compteur). Le mode temporel est sélectionné par défaut.
- Indiquez la longueur souhaitée pour le code de sortie, généralement 6 chiffres ou 8 chiffres selon les exigences du service cible.
- Ajustez la période en secondes pour TOTP (la valeur standard est de 30 secondes) ou renseignez la valeur du compteur entier pour HOTP (commençant par défaut à 0).
- Validez pour obtenir instantanément la suite numérique à usage unique et observer le décompte des secondes restantes en mode temporel.
Si vous configurez un nouveau compte sur une application mobile, vous pouvez également préparer un visuel d'enregistrement via le Générateur de code QR.
Interpréter les résultats affichés
Le résultat présente une chaîne de 6 ou 8 chiffres complétée par des zéros initiaux si nécessaire afin de respecter la longueur demandée. Pour une requête en mode TOTP, l'interface affiche également le nombre de secondes restantes avant la fin du cycle en cours. Dès qu'un nouveau palier temporel débute, le calcul produit une valeur différente. En mode HOTP, le code reste fixe pour le numéro de compteur transmis.
Exemple pratique de calcul
Imaginons la configuration d'un compte avec le secret Base32 JBSWY3DPEHPK3PXP en mode TOTP standard avec une longueur de 6 chiffres et une période de 30 secondes.
En appliquant ces réglages par défaut, l'outil découpe l'horodatage Unix actuel par tranches de 30 secondes et génère un code à 6 chiffres synchronisé avec l'horloge universelle, accompagné du nombre de secondes restantes avant le prochain renouvellement.
Limites techniques
- Le secret d'entrée doit respecter strictement l'encodage Base32 (caractères A à Z et 2 à 7).
- L'outil applique exclusivement l'algorithme HMAC-SHA1 conforme aux standards RFC 4226 et RFC 6238.
- Le mode TOTP requiert une horloge système locale synchronisée pour correspondre aux serveurs de validation.
Erreurs fréquentes
- Saisir un secret au format hexadécimal ou texte brut au lieu d'une clé Base32 valide.
- Spécifier une période nulle ou fractionnaire au lieu d'un nombre entier de secondes positif.
- Oublier d'incrémenter le compteur HOTP lors des tests successifs d'un service événementiel.
Foire aux questions
Le secret Base32 doit-il respecter une casse particulière ?
Non, la saisie tolère indifféremment les minuscules et les majuscules, et supprime les espaces superflus avant le décodage.
Quelle période faut-il utiliser pour un code TOTP ?
La norme utilise une période de 30 secondes par défaut, mais vous pouvez définir une valeur entière personnalisée comprise entre 1 et 86 400 secondes.
La clé secrète reste-t-elle visible dans le résultat ?
Non, la zone de résultat présente uniquement le code numérique calculé et le temps restant, sans réafficher la clé secrète.