Segurança pessoal

Gerador de códigos TOTP/HOTP

Execução local

A ferramenta em si está em inglês; esta página explica como usá-la no seu idioma.

Use Gerador de códigos TOTP/HOTP

O que ele faz

Gere senhas de uso único baseadas no tempo (TOTP) ou em contador (HOTP) para um segredo em Base32, da mesma forma que os aplicativos autenticadores fazem, e verifique se um código é válido. Útil para testar sua própria configuração de autenticação de duas etapas (2FA).

Ele funciona inteiramente no seu navegador: nada do que você digitar é enviado.

Como usar Gerador de códigos TOTP/HOTP

  1. Digite o segredo. Cole o segredo Base32 da sua própria conta de teste em Secret key (Base32), ou clique em Random para um novo segredo de 32 caracteres.
  2. Adapte as configurações do seu aplicativo. Escolha o tipo de código (TOTP, baseado em tempo, ou HOTP, baseado em contador), o algoritmo e o número de dígitos. A maioria dos aplicativos autenticadores usa TOTP, HMAC-SHA-1 e 6 dígitos.
  3. Mostrar o código. Para o TOTP, pressione “Iniciar TOTP”: o código é exibido com uma contagem regressiva e é recalculado a cada segundo. Para o HOTP, defina o contador e pressione “Mostrar código HOTP”; “Próximo” avança para o contador seguinte.
  4. Verificar um código. Digite um código do seu aplicativo ou de um servidor no campo “Verificar um código” e clique em “Verificar”. O resultado indica se o código está correto e para qual intervalo de tempo ou contador.
  5. Parar e liberar. Aperte o botão “Stop” quando terminar; o último código permanece na tela. Limpe você mesmo o campo secreto.

Exemplo

Segredo de teste da RFC 6238

Entrada
GEZDGNBVGY3TQOJQGEZDGNBVGY3TQOJQ
Saída (registrada em 2026-10-20)
412568

Esta é a chave de teste 12345678901234567890 publicada na RFC 6238, no formato Base32. A página exibe seu código atual de seis dígitos e os segundos que faltam até o próximo; esse é o mesmo código que um aplicativo autenticador exibe para esse segredo; ao mudar para HOTP com o contador em 0, ela exibe 755224, o primeiro valor de teste da RFC 4226.

O que ele verifica

SinalO que isso significa
O códigoHMAC do intervalo de tempo (TOTP) ou do contador (HOTP), reduzido a 6 ou 8 dígitos, conforme as normas RFC 4226 e RFC 6238. Ele só é compatível com um aplicativo quando o tipo, o algoritmo e o número de dígitos forem os mesmos.
Atualizações em Ns · intervalo de tempo NSegundos restantes na janela atual de 30 segundos e o número da etapa, obtido a partir do relógio do seu dispositivo. Um relógio desajustado exibe o código anterior ou o seguinte.
Contador N · pressione “Avançar”No modo HOTP, o código pertence a esse contador. Cada código é usado uma única vez; em seguida, os servidores aguardam o próximo contador.
Não é Base32: ...A senha contém caracteres que não fazem parte do conjunto A–Z e 2–7, como 0, 1, 8 ou 9. Espaços, hífens e o sinal = são ignorados, e letras minúsculas são aceitas.
o segredo tem apenas N bitsO segredo tem menos de 128 bits (26 caracteres Base32) exigidos pela RFC 4226. Os códigos continuam sendo exibidos, mas um segredo desse tipo é mais fácil de adivinhar.
Válido: corresponde a ...Verifique se o código correspondente ao passo de tempo atual ou ao contador HOTP foi encontrado no campo.
Válido para a etapa anterior ou seguinteO código corresponde a um intervalo de 30 segundos antes ou depois do momento atual (indicado em âmbar). Normalmente, há uma pequena diferença de horário entre os dois dispositivos.
Não foi encontrado nenhum resultadoNem os intervalos de tempo verificados nem os contadores batem. Verifique o segredo, o relógio, o algoritmo e o número de dígitos.

Mais exemplos

Chave de teste RFC 4226, HOTP

Entrada
GEZDGNBVGY3TQOJQGEZDGNBVGY3TQOJQ
Resultado

Com o tipo de código HOTP, HMAC-SHA-1, 6 dígitos e contador 0, o código é 755224; o comando “Next” retorna 287082 para o contador 1, os valores de teste publicados na RFC 4226.

Verificar um código um contador à frente

Entrada
GEZDGNBVGY3TQOJQGEZDGNBVGY3TQOJQ
Resultado

No modo HOTP com o contador em 0, ao digitar 287082 na opção “Verificar um código”, aparece a mensagem: “Válido para o contador 1”, ou seja, 1 a mais do que o valor do contador.

Não é um segredo em Base32

Entrada
0189
Resultado

ERRO com a mensagem “Não é Base32: ‘0’, ‘1’, ‘8’, ‘9’”, pois o Base32 utiliza apenas as letras A–Z e os algarismos 2–7.

Perguntas frequentes

O que exatamente ele calcula?

Códigos TOTP a partir da hora atual em intervalos de 30 segundos (RFC 6238) ou códigos HOTP para um contador definido por você (RFC 4226), com HMAC-SHA-1, SHA-256 ou SHA-512 e 6 ou 8 dígitos; a maioria dos aplicativos autenticadores usa SHA-1 e 6 dígitos. Verifique se um código corresponde ao intervalo de tempo atual e a um intervalo para cada lado, ou ao contador HOTP e aos 9 seguintes; um código com caracteres fora do intervalo A-Z e 2-7 é rejeitado com uma mensagem.

Um código TOTP me protege contra phishing?

Não totalmente. Kits de phishing adversary-in-the-middle repassam o código ao site real enquanto você o digita, então ele é capturado junto com a senha; passkeys e chaves de segurança FIDO2 resistem a isso porque ficam vinculadas ao domínio real.

O segredo é enviado ou armazenado em algum lugar?

Não. Os códigos são gerados no seu navegador por meio da API Web Crypto, e o segredo nunca é enviado nem salvo. O TOTP depende do relógio do seu dispositivo; portanto, um relógio desajustado gera códigos diferentes.

Como posso comparar os códigos com os RFCs?

Use a chave de teste 12345678901234567890, em Base32: GEZDGNBVGY3TQOJQGEZDGNBVGY3TQOJQ. No modo HOTP, o contador 0 resulta em 755224 e o contador 1 resulta em 287082 (RFC 4226). A RFC 6238 lista 94287082 para 8 dígitos aos 59 segundos após 1º de janeiro de 1970 UTC; o modo TOTP sempre utiliza a hora atual.

Qual é a diferença entre TOTP e HOTP?

O HOTP (RFC 4226) conta o número de utilizações: cada código pertence a um contador que aumenta em um. O TOTP (RFC 6238) é um HOTP em que o contador é definido para o intervalo de tempo atual de 30 segundos, de modo que o código muda conforme o relógio.

Por que o meu app mostra um código diferente?

Verifique primeiro os relógios, pois uma diferença de 30 segundos altera o código. Em seguida, verifique se há erros de digitação no segredo e se a conta usa SHA-256, SHA-512, 8 dígitos ou um contador em vez da hora, e defina as mesmas opções aqui.

Devo colar um segredo 2FA real aqui?

Evite. O segredo fica no seu navegador, mas qualquer pessoa que o veja ou copie pode gerar os seus códigos até você redefinir a 2FA naquela conta. Para levar a 2FA para um celular novo, use a opção de transferência ou de redefinição da própria conta.

Explicação dos termos

Pesquisa do PhishDestroy