0

Generador TOTP: código de autenticación 2FA en vivo

Pegue un secreto TOTP Base32 y observe cómo el código de autenticación real y en vivo de 6 dígitos rota cada 30 segundos, completamente sin conexión en su navegador.

- -

30 Segundos

Procesando... 0%

Resultado

Esta herramienta genera códigos de contraseña de un solo uso (TOTP) reales y que cumplen con los estándares a partir de un secreto Base32, los mismos códigos rotativos de seis dígitos que muestran aplicaciones como Google Authenticator o Authy. Pegue el secreto que le dieron al configurar la autenticación de dos factores (la misma cadena generalmente oculta detrás de un código QR) y observe cómo el código en vivo cuenta atrás y se actualiza cada 30 segundos, exactamente como lo haría dentro de una aplicación de teléfono. Está diseñado para probar y verificar los secretos 2FA que posee o controla: depurar un flujo de inicio de sesión que está creando, confirmar un código de respaldo antes de desechar un QR de aprovisionamiento o verificar que un secreto se haya escrito correctamente.

En el fondo, esta es una implementación genuina de RFC 6238 (TOTP) basada en RFC 4226 (HOTP), no una cuenta regresiva cosmética. El secreto Base32 se decodifica según RFC 4648 en bytes de clave sin formato, el tiempo actual de Unix se divide por el paso de tiempo para obtener un contador en movimiento y ese contador se codifica como un búfer big-endian de 8 bytes. La Web Crypto API nativa del navegador (crypto.subtle) calcula un HMAC sobre ese búfer con el hash elegido: SHA-1 sigue siendo el valor predeterminado casi universal para la compatibilidad con aplicaciones de autenticación existentes, mientras que SHA-256 y SHA-512 se ofrecen para configuraciones que admiten las variantes más potentes. El truncamiento dinámico de RFC 4226 luego extrae cuatro bytes de la salida HMAC en un desplazamiento tomado de su último byte, enmascara el bit superior y reduce el módulo de resultado 10^6 o 10^8 para producir el código de 6 u 8 dígitos: exactamente la misma aritmética que la aplicación de autenticación de su teléfono ejecuta internamente.

Cada parte del proceso ocurre localmente: no hay ningún componente de servidor, ninguna baliza de análisis que lleve su secreto y ninguna llamada API externa de ningún tipo. El texto Base32 que pega en el campo se analiza directamente mediante JavaScript que se ejecuta en su pestaña y nunca sale de ella. Eso hace que esta sea una forma segura de verificar un secreto 2FA en una máquina en la que confía, aunque, al igual que con cualquier herramienta que toque material de autenticación, aún debe evitar pegar secretos en computadoras públicas o compartidas y solo debe usarlo en códigos vinculados a cuentas de su propiedad o que esté explícitamente autorizado a probar.

El algoritmo, el recuento de dígitos y los controles de pasos de tiempo existen porque las implementaciones de TOTP en el mundo real no son perfectamente uniformes: la mayoría de los servicios al consumidor utilizan SHA-1 con 6 dígitos y un paso de 30 segundos, pero algunas herramientas empresariales y de desarrollo emiten secretos SHA-256 o SHA-512, códigos de 8 dígitos o pasos de tiempo no estándar, como 15 o 60 segundos. Hacer coincidir estas configuraciones con cualquier URI de aprovisionamiento o página de configuración que especifique le permite reproducir exactamente el código que mostraría su aplicación de autenticación, lo cual es invaluable cuando está implementando su propio servidor de verificación TOTP y necesita una referencia fuera de línea confiable con la que comparar.