Generador de TOTP (contraseña de un solo uso)
Genera la misma contraseña de un solo uso de 6 dígitos (RFC 6238) que usan Google Authenticator y aplicaciones similares, a partir de un secreto TOTP en formato Base32, todo dentro de tu navegador. El secreto nunca se transmite.
Sobre el algoritmo TOTP
TOTP (contraseña de un solo uso basada en el tiempo) es un algoritmo definido en la RFC 6238 para generar contraseñas de un solo uso a partir del tiempo. Convierte un secreto compartido y la hora actual en un contador que avanza a intervalos fijos, y luego deriva un código numérico con el mismo algoritmo de truncamiento dinámico que HOTP (RFC 4226).
| Algoritmo HMAC | Puedes elegir entre SHA-1 (predeterminado), SHA-256 o SHA-512 |
|---|---|
| Longitud del código | 6 dígitos (la misma longitud estándar que usan Google Authenticator y la mayoría de las apps de 2FA) |
| Intervalo de actualización | Se genera un nuevo código cada 30 segundos |
Consejos
- El secreto es la cadena de "clave de configuración" que aparece debajo del código QR al registrar por primera vez la autenticación de dos factores (2FA). Si ya lo registraste en la app de autenticación de tu teléfono, introduce aquí el mismo secreto para comprobar que el código coincide.
- Algunos servicios usan un algoritmo hash distinto de SHA-1 (SHA-256 o SHA-512). Si el código generado no coincide con el de tu aplicación, prueba a cambiar el algoritmo.
- El código se actualiza automáticamente cada 30 segundos, con una barra de progreso que muestra el tiempo restante. Ten cuidado al copiar un código justo antes de que expire, ya que podría invalidarse antes de llegar al servicio donde te autenticas.
- Al cerrar esta pestaña del navegador, el secreto se descarta por completo y no se guarda en ningún sitio. Si quieres conservarlo como copia de seguridad, guarda el secreto en un lugar seguro, como un gestor de contraseñas.
Preguntas frecuentes
A propósito — Por qué los códigos de doble factor se quedaron en 6 dígitos
OATH (la Iniciativa para la Autenticación Abierta), que redactó la especificación de TOTP (RFC 6238), simplemente reutilizó el algoritmo de truncamiento dinámico de HOTP (RFC 4226) y dejó la longitud del código a criterio de cada implementación. Los 6 dígitos se convirtieron en el estándar de facto de la industria principalmente porque Google Authenticator adoptó esa longitud en su implementación original de 2010, y muchos otros servicios y bibliotecas la siguieron después.
Seis dígitos también resultan ser un punto de equilibrio perfecto. Con un millón de combinaciones posibles (10^6) y una ventana de validez de tan solo 30 segundos, forzar un código por fuerza bruta se vuelve prácticamente imposible, mientras que una longitud mayor resultaría poco práctica para que una persona la memorice y la escriba. No es casualidad que la mayoría de los códigos SMS también tengan 6 dígitos: la industria convergió en esta longitud para cualquier "código numérico desechable de corta duración".
HOTP (RFC 4226, 2005), el predecesor de TOTP, usaba un contador que debía incrementarse en uno cada vez que se utilizaba un código. En la práctica esto provocaba frecuentes problemas de sincronización, con usuarios que olvidaban pulsar un botón, o el contador del dispositivo y del servidor desincronizándose. TOTP, estandarizado en 2011, sustituyó el contador por la hora actual, un valor de referencia que todos pueden compartir, simplificando enormemente la operación.