> totp | authenticator | generator <
Genera contraseñas de un solo uso basadas en tiempo (TOTP) o en contador (HOTP) a partir de un secreto Base32. Prueba configuraciones 2FA, depura discrepancias del autenticador y crea URI otpauth://, todo en local.
Los secretos nunca salen de tu navegador. Aun así, evita pegar secretos de producción reales en equipos compartidos.
URI OTPAUTH
¿Necesitas un código QR para una app de autenticación? Pega la URI en el Generador de códigos QR
Códigos en vivo con cuenta atrás
Pega un secreto Base32 y obtén el código actual y el siguiente, renovados en cada periodo, con una barra de progreso hasta que caduque.
SHA-1, SHA-256, SHA-512
Elige 6, 7 u 8 dígitos y cualquier periodo. El HMAC usa la API Web Crypto y coincide con los vectores de prueba de las RFC 4226 y 6238.
Creador e importador de URI otpauth
Crea URI otpauth:// para apps de autenticación o importa una existente para rellenar todos los campos automáticamente. No se sube nada.
>> información técnica
Cómo funcionan las contraseñas de un solo uso:
HOTP (RFC 4226) calcula HMAC(secreto, contador) y trunca el resultado a 6-8 dígitos. TOTP (RFC 6238) es un HOTP cuyo contador es el tiempo Unix dividido por el periodo (normalmente 30 segundos), de modo que el código cambia en cada periodo y ambas partes coinciden sin comunicarse. El secreto compartido suele intercambiarse como texto Base32 o como un código QR con una URI otpauth://.
Ejemplo:
RFC 6238 test vector (SHA-1) secret = GEZDGNBVGY3TQOJQGEZDGNBVGY3TQOJQ time = 59 -> counter = 59 / 30 = 1 code (8 digits) = 94287082
Por qué usar este generador TOTP:
- >Probar y depurar la autenticación de dos factores al desarrollar un inicio de sesión
- >Averiguar por qué una app de autenticación y un servidor no coinciden en el código
- >Crear URI otpauth:// con el emisor, algoritmo, dígitos y periodo correctos
- >Comprobar códigos con marcas de tiempo fijas usando el campo de tiempo Unix
>> preguntas frecuentes
P: ¿Cómo funciona TOTP?
R: Tu app y el servidor comparten un secreto. Ambos calculan el HMAC del secreto y el paso de tiempo actual (tiempo Unix dividido por el periodo, 30 segundos por defecto) y lo truncan a un código de 6 dígitos. Si los dos relojes coinciden, obtienen el mismo código.
P: ¿Es seguro introducir mi secreto aquí?
R: El cálculo se hace por completo en tu navegador con la API Web Crypto y no se envía nada a ningún servidor. Aun así, un secreto TOTP es la llave de tu cuenta: no pegues secretos de producción reales en equipos compartidos o poco fiables y usa cuentas de prueba para depurar.
P: ¿Por qué mi código no coincide con mi app de autenticación?
R: Las causas más habituales son un reloj desajustado (TOTP necesita una hora precisa con unos segundos de margen), un algoritmo, número de dígitos o periodo distintos, o un secreto copiado con errores. Comprueba que estén SHA-1, 6 dígitos y 30 segundos, que es lo que usan casi todos los servicios.
P: ¿Cuál es la diferencia entre TOTP y HOTP?
R: HOTP usa un contador que solo avanza cuando se usa un código, así que un código sigue siendo válido hasta que se consume. TOTP deriva el contador del reloj, por lo que los códigos caducan automáticamente en cada periodo. TOTP es mucho más común en la 2FA de consumo.
P: ¿Qué es una URI otpauth://?
R: Es el texto del código QR que escaneas al activar la 2FA, por ejemplo otpauth://totp/Example:user@example.com?secret=...&issuer=Example. Contiene el secreto, el emisor, la cuenta y, opcionalmente, el algoritmo, los dígitos y el periodo. Pégala en el cuadro de importación para extraer el secreto.
P: ¿Qué ajustes admiten las apps de autenticación?
R: Google Authenticator y muchas otras apps ignoran los parámetros de algoritmo, dígitos y periodo y usan siempre SHA-1, 6 dígitos y 30 segundos. Usa esos valores por defecto salvo que sepas que tu app y tu servidor admiten otra cosa.