Contraseñas aleatorias con letras, dígitos y símbolos mediante crypto.getRandomValues.
Generador de códigos TOTP/HOTP
La herramienta en sí está en inglés; en esta página se explica en tu idioma.
Utiliza Generador de códigos TOTP/HOTP
Para qué sirve
Calcula contraseñas de un solo uso basadas en el tiempo (TOTP) o en un contador (HOTP) para un secreto en formato Base32, tal y como lo hacen las aplicaciones de autenticación, y comprueba si un código coincide. Resulta útil para probar tu propia configuración de autenticación de dos factores (2FA).
Funciona íntegramente en tu navegador: no se sube nada de lo que introduzcas.
Cómo utilizar Generador de códigos TOTP/HOTP
- Introduce el secreto. Pega el secreto Base32 de tu propia cuenta de prueba en Secret key (Base32) (Clave secreta), o pulsa Random (Aleatorio) para obtener un secreto nuevo de 32 caracteres.
- Adapta la configuración a tu aplicación. Elige el tipo de código (TOTP, basado en el tiempo, o HOTP, basado en un contador), el algoritmo y el número de dígitos. La mayoría de las aplicaciones de autenticación utilizan TOTP, HMAC-SHA-1 y 6 dígitos.
- Mostrar el código. Para el TOTP, pulsa «Iniciar TOTP»: el código aparece con una cuenta atrás y se recalcula cada segundo. Para el HOTP, configura el contador y pulsa «Mostrar código HOTP»; al pulsar «Siguiente» se pasa al contador siguiente.
- Comprobar un código. Introduce un código de tu aplicación o de un servidor en el campo «Verificar un código» y pulsa «Verificar». El resultado indica si coincide y para qué intervalo de tiempo o contador.
- Detente y despeja el camino. Pulsa «Stop» cuando hayas terminado; el último código permanecerá en pantalla. Vacía tú mismo el campo secreto.
Ejemplo
Secreto de prueba de RFC 6238
GEZDGNBVGY3TQOJQGEZDGNBVGY3TQOJQ412568Esta es la clave de prueba 12345678901234567890 del RFC 6238 publicada en Base32. La página muestra su código actual de seis dígitos y los segundos que faltan para el siguiente; es el mismo código que muestra una aplicación de autenticación para este secreto; al cambiar a HOTP con el contador en 0, muestra 755224, el primer valor de prueba del RFC 4226.
Qué comprueba
| Señal | Qué significa |
|---|---|
| El código | HMAC del intervalo de tiempo (TOTP) o del contador (HOTP), reducido a 6 u 8 dígitos, tal y como se establece en las normas RFC 4226 y RFC 6238. Solo coincide con una aplicación cuando el tipo, el algoritmo y el número de dígitos son los mismos. |
| Actualizaciones en ns · paso de tiempo N | Segundos restantes en el intervalo actual de 30 segundos y el número de paso, según el reloj de tu dispositivo. Si el reloj está desajustado, se muestra el código anterior o el siguiente. |
| Contador N · pulsa «Siguiente» | En el modo HOTP, el código corresponde a ese contador. Cada código se utiliza una sola vez; a continuación, los servidores esperan el siguiente contador. |
| No es Base32: ... | La contraseña contiene caracteres que no pertenecen al alfabeto (A–Z) ni a los números (2–7), como el 0, el 1, el 8 o el 9. Los espacios, los guiones y el signo «=» se ignoran, y se aceptan las letras minúsculas. |
| El secreto tiene solo N bits | La clave es más corta que los 128 bits (26 caracteres Base32) que exige la norma RFC 4226. Los códigos siguen mostrándose, pero una clave así es más fácil de adivinar. |
| Válido: coincide con... | Comprueba si se ha encontrado el código correspondiente al paso de tiempo actual o al contador HOTP en el campo. |
| Válido para el paso anterior o el siguiente | El código corresponde a un intervalo de 30 segundos anterior o posterior al momento actual (indicado en color ámbar). Normalmente, existe una pequeña diferencia horaria entre los dos dispositivos. |
| No hay resultados | Ni los intervalos de tiempo comprobados ni los contadores coinciden. Comprueba el secreto, el reloj, el algoritmo y el número de dígitos. |
Más ejemplos
Clave de prueba RFC 4226, HOTP
GEZDGNBVGY3TQOJQGEZDGNBVGY3TQOJQCon el tipo de código HOTP, HMAC-SHA-1, 6 dígitos y contador 0, el código es 755224; «Siguiente» da como resultado 287082 para el contador 1, según los valores de prueba publicados en el RFC 4226.
Comprobar un código en el contador siguiente
GEZDGNBVGY3TQOJQGEZDGNBVGY3TQOJQEn el modo HOTP con el contador en 0, al introducir 287082 en «Verificar un código» aparece el siguiente mensaje: «Válido para el contador 1», es decir, 1 más que el valor del contador.
No es un secreto en Base32
0189ERROR con el mensaje «No es Base32: “0”, “1”, “8”, “9”», ya que Base32 solo utiliza las letras A–Z y los dígitos del 2 al 7.
Preguntas frecuentes
¿Qué calcula exactamente?
Códigos TOTP a partir de la hora actual en intervalos de 30 segundos (RFC 6238) o códigos HOTP para un contador que hayas configurado (RFC 4226), con HMAC-SHA-1, SHA-256 o SHA-512 y 6 u 8 dígitos; la mayoría de las aplicaciones de autenticación utilizan SHA-1 y 6 dígitos. Verifica que un código corresponda al intervalo de tiempo actual y a un intervalo adyacente en cada sentido, o al contador HOTP y a los 9 siguientes; cualquier código que contenga caracteres distintos de A-Z y 2-7 se rechaza con un mensaje.
¿Un código TOTP me protege del phishing?
No del todo. Los kits de phishing adversary-in-the-middle (con intermediario) pasan el código al sitio real mientras lo escribes, así que se captura junto con la contraseña; las passkeys y las llaves de seguridad FIDO2 resisten esto porque están vinculadas al dominio real.
¿Se envía o se guarda el secreto en algún sitio?
No. Los códigos se generan en tu navegador mediante la API Web Crypto y el secreto nunca se sube ni se guarda. El TOTP depende del reloj de tu dispositivo, por lo que si el reloj está desajustado, se generarán códigos diferentes.
¿Cómo puedo contrastar los códigos con los RFC?
Utiliza la clave de prueba 12345678901234567890, en Base32: GEZDGNBVGY3TQOJQGEZDGNBVGY3TQOJQ. En el modo HOTP, el contador 0 da 755224 y el contador 1 da 287082 (RFC 4226). La RFC 6238 indica 94287082 para 8 dígitos a los 59 segundos después del 1 de enero de 1970 UTC; el modo TOTP siempre utiliza la hora actual.
¿Cuál es la diferencia entre TOTP y HOTP?
El HOTP (RFC 4226) cuenta los usos: cada código pertenece a un contador que se incrementa en uno. El TOTP (RFC 6238) es un HOTP en el que el contador está configurado para el intervalo de tiempo actual de 30 segundos, por lo que el código cambia al ritmo del reloj.
¿Por qué mi aplicación muestra otro código?
Comprueba primero los relojes, ya que una diferencia de 30 segundos cambia el código. A continuación, comprueba que el secreto no contenga errores ortográficos y si la cuenta utiliza SHA-256, SHA-512, 8 dígitos o un contador en lugar de la hora, y configura aquí las mismas opciones.
¿Debo pegar aquí un secreto 2FA real?
Evítalo. El secreto se queda en tu navegador, pero cualquiera que lo vea o lo copie puede generar tus códigos hasta que restablezcas el 2FA de esa cuenta. Para pasar el 2FA a un teléfono nuevo, usa la opción de transferencia o restablecimiento de la propia cuenta.