Usa un secreto Base32 de prueba para comparar ajustes y códigos. Elige TOTP para códigos basados en el reloj o HOTP para un contador concreto.
Se ejecuta localmente en tu navegadorCompara el valor con tu implementación usando un secreto desechable. La deriva de reloj, el almacenamiento, la recuperación y los límites requieren controles del servidor.
Este espacio de trabajo convierte un secreto Base32 en el código de un solo uso que mostraría una aplicación de autenticación, con el algoritmo, el número de dígitos y el periodo o contador que elijas. También genera la URI de configuración otpauth:// que codificaría un código QR.
El HMAC se calcula en la pestaña con Web Crypto. La herramienta no envía ninguna petición mientras trabaja, así que el secreto y el código generado permanecen en el navegador.
El código es un HMAC sobre el contador en uso: el contador se firma con el secreto, el último byte de la firma selecciona una ventana de 4 bytes (truncamiento dinámico) y ese valor se reduce módulo 10^dígitos. TOTP es la misma función con el contador derivado del tiempo Unix dividido por el periodo; por eso un código TOTP cambia solo, mientras que uno HOTP espera al siguiente contador.
La herramienta coincide con los vectores de prueba publicados. Con el secreto del RFC, los contadores HOTP 0 a 5 devuelven 755224, 287082, 359152, 969429, 338314 y 254676. Un reloj dentro del paso de tiempo del RFC que contiene T=59 devuelve 94287082 con SHA-1 y 8 dígitos, y los vectores posteriores (T=1111111109 y T=20000000000) devuelven 07081804 y 65353130.
La revisión repite los parámetros usados y recuerda dos tareas del servidor: el contador HOTP debe incrementarse y guardarse de forma atómica en el verificador, y un secreto con menos de 20 bytes decodificados es demasiado corto para producción. Un periodo distinto de 30 segundos y SHA-256 o SHA-512 son válidos, pero menos aplicaciones y servidores los aceptan.
Aquí no se valida un código escrito a mano, no se mide la deriva de reloj del servidor ni se comprueba que el secreto sea el de tu cuenta. Compara un código con la implementación que lo va a verificar y toma el flujo de alta de la aplicación de autenticación como referencia.
La URI sigue el formato de clave otpauth://: secreto, emisor, algoritmo (SHA1, SHA256 o SHA512), dígitos y periodo o contador; es la cadena que codifica un código QR. El secreto se reescribe en Base32 sin espacios ni relleno, y la etiqueta une el emisor y el nombre de la cuenta.
El HMAC y la URI se generan dentro de la pestaña y la herramienta no envía ninguna petición, así que el secreto y el código resultante no salen del navegador. Usa un secreto de prueba desechable al comparar implementaciones y guarda las semillas de producción en los sistemas autorizados a almacenarlas.