Gerador TOTP – Código do autenticador 2FA ao vivo
Cole um segredo TOTP Base32 e observe o código real do autenticador de 6 dígitos girar a cada 30 segundos - totalmente offline em seu navegador.
Resultado
Essa ferramenta gera códigos de senha de uso único baseados em tempo (TOTP) reais e compatíveis com os padrões a partir de um segredo Base32, os mesmos códigos rotativos de seis dígitos mostrados por aplicativos como Google Authenticator ou Authy. Cole o segredo que você recebeu ao configurar a autenticação de dois fatores – a mesma string geralmente escondida atrás de um código QR – e observe a contagem regressiva do código ao vivo e a atualização a cada 30 segundos, exatamente como faria dentro de um aplicativo de telefone. Destina-se a testar e verificar segredos 2FA que você possui ou controla: depurar um fluxo de login que você está construindo, confirmar um código de backup antes de descartar um QR de provisionamento ou verificar novamente se um segredo foi digitado corretamente.
Nos bastidores, esta é uma implementação genuína da RFC 6238 (TOTP) baseada na RFC 4226 (HOTP), não uma contagem regressiva cosmética. O segredo Base32 é decodificado por RFC 4648 em bytes de chave brutos, o tempo Unix atual é dividido pelo intervalo de tempo para obter um contador móvel e esse contador é codificado como um buffer big endian de 8 bytes. A API Web Crypto nativa do navegador (crypto.subtle) calcula um HMAC sobre esse buffer com o hash escolhido – SHA-1 continua sendo o padrão quase universal para compatibilidade com aplicativos autenticadores existentes, enquanto SHA-256 e SHA-512 são oferecidos para configurações que suportam as variantes mais fortes. O truncamento dinâmico do RFC 4226 extrai quatro bytes da saída HMAC em um deslocamento obtido de seu último byte, mascara o bit superior e reduz o módulo de resultado 10 ^ 6 ou 10 ^ 8 para produzir o código de 6 ou 8 dígitos - exatamente a mesma aritmética que o aplicativo autenticador do seu telefone é executado internamente.
Cada parte do processo acontece localmente: não há nenhum componente de servidor, nenhum beacon analítico carregando seu segredo e nenhuma chamada de API externa de qualquer tipo. O texto Base32 que você cola no campo é analisado diretamente pelo JavaScript em execução na sua guia e nunca sai dele. Isso torna esta uma maneira segura de verificar a integridade de um segredo 2FA em uma máquina em que você confia, embora, como acontece com qualquer ferramenta que toque em material de autenticação, você ainda deva evitar colar segredos em computadores compartilhados ou públicos e só deva usar isso em códigos vinculados a contas que você possui ou está explicitamente autorizado a testar.
O algoritmo, a contagem de dígitos e os controles de intervalo de tempo existem porque as implantações de TOTP no mundo real não são perfeitamente uniformes: a maioria dos serviços ao consumidor usa SHA-1 com 6 dígitos e um passo de 30 segundos, mas algumas ferramentas empresariais e de desenvolvedor emitem segredos SHA-256 ou SHA-512, códigos de 8 dígitos ou intervalos de tempo não padrão, como 15 ou 60 segundos. A correspondência dessas configurações com qualquer URI de provisionamento ou página de configuração especificada permite reproduzir exatamente o código que seu aplicativo autenticador mostraria, o que é inestimável quando você está implementando seu próprio servidor de verificação TOTP e precisa de uma referência off-line confiável para comparar.