Hashes/Cripto

TOTP Generator/Verifier

Contraseñas de un solo uso basadas en tiempo (TOTP, RFC 6238) — genera el código actual a partir de un secreto y verifica un código introducido con tolerancia al desfase horario.

------


                    

TOTP (Time-based One-Time Password, RFC 6238) is a two-factor authentication algorithm that generates a one-time code from a secret and the current time. It's exactly what runs under the hood in Google Authenticator, Authy, and similar apps.

How to use it

Common uses

Things to keep in mind

A TOTP code is only valid for a short window (usually 30 seconds) — that time limit is the main protection, not the secret alone.

Code accuracy depends directly on the device's clock being synced; a noticeable clock drift is the most common cause of rejected 2FA codes.

Artículo sobre esta herramienta: TOTP: cómo funcionan los códigos de un solo uso en las apps de autenticación

Preguntas frecuentes

¿Por qué mi código generado caduca tan rápido?

Los códigos TOTP están basados en el tiempo — por defecto rotan cada 30 segundos, calculándose a partir del tiempo Unix actual y el secreto compartido. Esta ventana corta limita cuánto tiempo sigue siendo útil un código filtrado.

¿Qué pasa si el reloj de mi dispositivo está desincronizado?

TOTP depende de que ambas partes coincidan de cerca en la hora actual. La mayoría de las apps de autenticación y servidores permiten una pequeña tolerancia de desfase (normalmente un paso de tiempo), pero una desviación mayor hará que se rechacen códigos válidos.

¿Se envía mi clave secreta a algún sitio al generar un código aquí?

No. El código TOTP se calcula enteramente en tu navegador — la clave secreta nunca sale de tu dispositivo.

¿TOTP protege contra el phishing?

No del todo. Si la víctima introduce la contraseña y el código TOTP vigente en un sitio falso, el atacante puede usar ambos valores de inmediato en el sitio real mientras el código sigue siendo válido. Contra este ataque en tiempo real solo protegen las llaves físicas basadas en el estándar FIDO2/WebAuthn.

¿Por qué el servidor acepta también el intervalo de tiempo anterior y no solo el actual?

Esto compensa una pequeña latencia de red entre la generación del código en el teléfono y el momento en que el servidor lo recibe y verifica. Sin ese margen, códigos legítimos a veces se rechazarían por un simple retraso de unos segundos.

Artículos: Hashes/Cripto

Hash Generator: en qué se diferencian MD5, SHA-1 y SHA-256

Por qué MD5 todavía se usa para verificar la integridad de archivos, pero no para contraseñas.

Checksum Verifier: cómo comprobar que un archivo no está dañado

Por qué una suma de comprobación coincidente confirma la integridad de un archivo, pero no quién lo creó.

HMAC: en qué se diferencia un hash con clave de un hash normal

Por qué un SHA-256 normal no protege contra la manipulación de un mensaje, pero HMAC sí.

Bcrypt: por qué las contraseñas se hashean lento y no rápido

Por qué un SHA-256 rápido es una mala elección para contraseñas, y un bcrypt lento es la correcta.

UUID: cómo se generan identificadores que casi nunca se repiten

Por qué se puede generar un UUID v4 de forma independiente en millones de máquinas sin riesgo de colisión.

Generador de contraseñas: qué es lo que realmente la hace fuerte

Por qué una contraseña larga hecha de palabras del diccionario es más fuerte que una corta con símbolos y números.

AES: cómo funciona el cifrado simétrico

Por qué la misma clave cifra y descifra los datos en AES, y en qué se diferencia del cifrado asimétrico.

Argon2: por qué este algoritmo ganó el concurso de hasheo de contraseñas

Cómo Argon2 defiende mejor contra ataques con GPU que los algoritmos de hasheo de contraseñas más antiguos.

Scrypt: por qué el algoritmo necesita tanta memoria

Por qué scrypt exige deliberadamente mucha memoria para dificultar el ataque en dispositivos ASIC.

PBKDF2: el estándar de estiramiento de claves más antiguo

Por qué el número de iteraciones recomendado para PBKDF2 crece cada año.

X.509: qué hay dentro de un certificado SSL

Qué comprueba exactamente el navegador en el certificado de un sitio antes de mostrar el candado verde.

PGP: cómo funciona el cifrado con clave pública y privada

Por qué se puede compartir libremente una clave pública PGP, pero nunca la privada.