Generador TOTP
¡NUEVO!

Generador TOTP

Genera códigos TOTP desde un secreto o un código QR, y construye el QR a partir de un secreto. Todo ocurre en tu navegador — no se sube nada.

Herramientas de Seguridad
Parámetros avanzados
Ejemplos

Introduce un secreto base32, pega una URI otpauth o escanea un código QR para generar un código en vivo.

Todo ocurre en tu navegador. Tu secreto nunca se sube ni se guarda.

Es un generador de conveniencia, no un sustituto de tu aplicación de autenticación. No lo uses como tu único segundo factor.

Palabras clave

generador totpgenerador de códigos 2facódigo qr otpauthcódigo de autenticación onlinetotp desde secretoqr a secreto totprfc 6238herramienta de doble factor

¿Necesitas algo más?

Cómo usar

1

Elige una entrada: pega un secreto base32 en la pestaña Secreto, pega una URI otpauth:// completa, sube una imagen QR o escanea un QR con tu cámara.

2

Sea cual sea la pieza que aportes, la herramienta completa el resto — el código en vivo, la URI otpauth://, el secreto y un código QR correspondiente.

3

Lee el código de seis dígitos y el anillo junto a él, que muestra los segundos que quedan antes de que cambie; el siguiente código se previsualiza debajo.

4

Abre Parámetros avanzados para cambiar el algoritmo, el número de dígitos o el periodo si tu servicio usa valores no predeterminados, o define un emisor y una cuenta.

5

Copia el código, el secreto o la URI con un clic, o descarga el QR como PNG para dar de alta la cuenta en una aplicación de autenticación.

Características

Cuatro Formas de Entrada

Empieza desde un secreto base32, una URI otpauth:// completa, una captura de un QR o un escaneo en vivo con la cámara. Cada ruta completa automáticamente todos los demás campos.

QR Bidireccional

Genera un QR escaneable desde cualquier secreto, o decodifica un QR que ya tengas de vuelta a su secreto y parámetros. La codificación usa lógica compartida y probada; la decodificación usa el BarcodeDetector del navegador con un respaldo en JavaScript puro.

Cuenta Atrás en Vivo con Vista del Siguiente Código

Un anillo va marcando los segundos restantes del periodo actual y el código se actualiza en cuanto expira. También se muestra el próximo código, para que nunca pierdas un cambio a mitad de tecleo.

Control Total de Parámetros

Elige SHA-1, SHA-256 o SHA-512, de seis a ocho dígitos y un periodo de 15 a 60 segundos. Define un emisor y una cuenta para que el QR generado se registre con un nombre reconocible.

Detección de Desfase de Reloj

TOTP depende del reloj de tu dispositivo. La herramienta compara tu reloj con el del servidor y te avisa cuando se desvía lo suficiente como para producir códigos que un servicio rechazaría.

¿Por qué elegir esta herramienta?

Tu Secreto Nunca Sale de la Página

El secreto, los códigos y el QR se calculan dentro de la pestaña de tu navegador con la Web Crypto API. No se sube, ni se registra, ni se guarda nada — recarga la página y desaparece. Un secreto TOTP es una credencial de larga vida, así que mantenerlo fuera de la red importa.

Correcto Según los Estándares

La generación de códigos sigue la RFC 6238 (TOTP) sobre la RFC 4226 (HOTP) con base32 de la RFC 4648, y está verificada contra los vectores de prueba oficiales de la RFC 6238 para SHA-1, SHA-256 y SHA-512. El analizador y constructor de otpauth:// siguen el formato Key URI de Google Authenticator. La lógica es de código abierto en tools-core.

Bidireccional y Completo

La mayoría de las herramientas online solo convierten un secreto en un código. Esta también lee un QR de vuelta a su secreto, construye un QR desde un secreto y hace ida y vuelta con la URI otpauth:// — así sirve como ayuda de alta y de recuperación cuando tienes un QR pero no el texto del secreto.

Funciona Sin Conexión, Carga al Instante

Es una página estática ligera sin llamadas al servidor, así que se abre de inmediato y sigue funcionando sin red una vez cargada. La decodificación de QR desde una imagen y la generación de códigos funcionan con la pestaña desconectada — útil en una máquina restringida o aislada.

Cómo Funcionan las Contraseñas de Un Solo Uso Basadas en Tiempo

Una contraseña de un solo uso basada en tiempo (TOTP) es el código de seis dígitos que una aplicación de autenticación muestra para una cuenta, actualizándose cada treinta segundos. La define la RFC 6238, que se apoya en la contraseña de un solo uso basada en HMAC de la RFC 4226. El diseño es deliberadamente simple: un secreto compartido más la hora actual producen un código que tanto tu dispositivo como el servidor pueden calcular de forma independiente, sin ninguna comunicación de red y sin nada que interceptar.

El Secreto Compartido

El alta empieza cuando un servicio genera un secreto aleatorio — normalmente de dieciséis a veinte bytes — y te lo muestra, habitualmente codificado como texto base32 y empaquetado dentro de un código QR. Tu autenticador guarda ese secreto; el servidor guarda el mismo secreto asociado a tu cuenta. A partir de entonces ambos lados tienen material de clave idéntico y nunca necesitan volver a intercambiarlo. Se usa base32 (RFC 4648) porque su alfabeto evita caracteres ambiguos y sobrevive a escribirse a mano.

El Paso de Tiempo

En lugar de un contador que ambos lados deben mantener sincronizado, TOTP deriva el contador del reloj. Toma el número de segundos desde la época Unix y lo divide entre el periodo — treinta segundos por defecto — descartando el resto. Todos con un reloj razonablemente correcto calculan el mismo contador para la misma ventana de treinta segundos, por lo que el código es el mismo en tu teléfono y en el servidor sin que ninguno hable con el otro.

HMAC y Truncamiento Dinámico

Ese contador de ocho bytes se firma con HMAC bajo el secreto compartido, usando SHA-1 por defecto (algunos servicios eligen SHA-256 o SHA-512). El resultado es un valor de veinte bytes, demasiado largo para teclear. La RFC 4226 define un "truncamiento dinámico" para reducirlo: toma los cuatro bits bajos del último byte como desplazamiento, lee los cuatro bytes que empiezan en ese desplazamiento, enmascara el bit superior para mantenerlo positivo y reduce el número resultante módulo diez elevado al número de dígitos. Lo que queda es tu código de seis, siete u ocho dígitos, rellenado con ceros por la izquierda.

Por Qué Ambos Lados Deben Coincidir

Como el código queda completamente determinado por el secreto, el algoritmo, el número de dígitos y el periodo, ambos lados deben coincidir en los cuatro. Un autenticador que asume SHA-1 y seis dígitos producirá en silencio códigos erróneos para un servicio que espera SHA-256 u ocho dígitos — las matemáticas funcionan, solo que dan un número distinto. Por eso la URI otpauth:// lleva el algoritmo, los dígitos y el periodo junto al secreto.

Deriva del Reloj y Ventanas de Validación

Como el contador proviene de la hora del reloj, un dispositivo cuyo reloj esté más de un paso desincronizado calcula el contador de la ventana equivocada y produce un código que el servidor rechaza. Para absorber pequeñas derivas, los servidores suelen aceptar los códigos de las ventanas adyacentes — un paso antes y después — en lugar de solo el exacto. Un desfase grande sigue fallando, y es la razón más común por la que un código "no funciona" a pesar de que el secreto es correcto.

Qué Guarda el Servidor

El servidor guarda solo el secreto compartido y los parámetros, y recalcula el código esperado en cada inicio de sesión para compararlo con lo que tecleaste. No registra nada predictivo e, idealmente, recuerda el último paso aceptado para que un código no pueda reutilizarse dentro de su propia ventana. No hay base de datos de códigos ni transformación reversible: el mismo HMAC unidireccional corre en ambos extremos, y eso es lo que hace a TOTP capaz de funcionar sin conexión y difícil de phishear solo por interceptación.

Preguntas Frecuentes

¿Se sube mi secreto a algún sitio?

No. El secreto, cada código, la URI otpauth:// y el QR se producen dentro de tu navegador con la Web Crypto API. No se envía nada a un servidor, y no se escribe nada en el almacenamiento — recargar la página lo descarta por completo.

¿Puedo usar esto en lugar de una aplicación de autenticación?

Puedes, pero en general no deberías depender de ello como tu único segundo factor. Es un generador de conveniencia y una ayuda de recuperación — por ejemplo para leer un QR que no puedes escanear, o para comprobar un código. Una aplicación de autenticación dedicada guarda el secreto en el almacenamiento seguro del dispositivo, algo que una página web no puede.

¿Por qué se rechaza mi código?

La causa más común es el desfase de reloj: TOTP deriva el código de la hora de tu dispositivo, así que un reloj más de un paso desincronizado produce un código válido para la ventana equivocada. Después, comprueba que el algoritmo, el número de dígitos y el periodo coincidan con los del servicio, y que el secreto se introdujo sin errores de transcripción.

¿Qué es el formato otpauth://?

Es el formato Key URI popularizado por Google Authenticator. Empaqueta el tipo (totp), una etiqueta emisor:cuenta y el secreto, el algoritmo, los dígitos y el periodo en una sola cadena que lleva un código QR. Escanear el QR es simplemente leer ese texto. Esta herramienta lo analiza y lo construye en ambos sentidos.

¿Qué cambian SHA-256 y 8 dígitos?

Cambian qué números salen. SHA-256 o SHA-512 reemplazan al SHA-1 por defecto dentro del paso HMAC, y ocho dígitos conservan más del valor truncado. Ninguno es una mejora de seguridad que puedas activar por tu cuenta — el servidor debe esperar los mismos ajustes, o todos los códigos serán erróneos.

¿Puedo escanear un QR con mi cámara?

Sí. La pestaña Cámara solicita acceso a tu cámara y busca un QR en la vista en vivo, decodificándolo por completo en el dispositivo. El acceso a la cámara requiere un contexto seguro, que localhost y cualquier página https:// proporcionan. Nada de la cámara se sube.

¿Funciona sin conexión?

Sí, una vez cargada la página. La generación de códigos y la codificación de QR son cálculo puramente del lado del cliente, y la decodificación de QR desde una imagen subida también corre localmente. Solo la comprobación opcional de desfase de reloj necesita la red, y falla en silencio cuando estás sin conexión.

¿Qué ocurre cuando recargo la página?

Todo se borra. La herramienta nunca escribe el secreto en localStorage ni en sessionStorage, así que un refresco, una pestaña cerrada o una sesión nueva empieza vacía. Si necesitas conservar un secreto, cópialo o descarga el QR antes de salir.

Artículos Relacionados

Saber más