Gerador de código TOTP

Digite a chave secreta que o seu serviço deu para o login em dois fatores, e esta página calcula o código de uso único atual no seu navegador, com a contagem regressiva, os códigos anterior e seguinte e o HOTP para um contador.

Gratuita Funciona no seu navegador Verificada em terça-feira, 10 de novembro de 2026

Esta ferramenta funciona no seu navegador. O que você digita não é enviado para nós.

Como usar

  1. Digite a chave secreta da página de dois fatores do serviço no campo, ou cole o texto otpauth:// que o QR code dele guarda. Clique em Mostrar para conferir o que você digitou.
  2. Escolha o Hash, os Dígitos e o Período que o serviço indica. Muitos serviços usam os padrões do Key URI Format: SHA-1, 6 dígitos e 30 segundos.
  3. Para um serviço baseado em contador, escolha Baseado em contador (HOTP) e informe o contador; Contador + 1 o avança.
  4. Confira o Código atual antes que o Tempo restante acabe, e veja os códigos Anterior e Seguinte se o relógio do seu aparelho estiver um pouco adiantado ou atrasado.

Como um código é feito

O HOTP (RFC 4226) pega a chave secreta e um contador, calcula um HMAC do contador com o hash e toma quatro bytes dele (truncamento dinâmico). O número que esses bytes dão, módulo 10 elevado ao número de dígitos, é o código.

O TOTP (RFC 6238) é o HOTP com um contador feito a partir do tempo: o tempo Unix em segundos, dividido pelo período e arredondado para baixo. Um código novo começa a cada período, então os dois lados precisam de um relógio preciso.

TOTP = HOTP(chave, piso(tempo unix / período));   HOTP = truncar(HMAC(chave, contador)) mod 10^dígitos

Chaves secretas e URIs otpauth://

A chave secreta é um texto em Base32 (RFC 4648): as letras de A a Z e os dígitos de 2 a 7. Os espaços são ignorados, e o preenchimento pode ser omitido. Uma chave com um caractere fora desse conjunto, ou com um tamanho impossível, é recusada.

Um URI otpauth:// (o Key URI Format do Google) guarda o tipo, o rótulo, a chave secreta e, opcionalmente, o emissor, o algoritmo, os dígitos, o período e o contador. As configurações que faltam recebem os padrões do formato: SHA1, 6 dígitos, 30 segundos e contador 0.

Como a página foi conferida

O código é testado com os valores de teste do Apêndice D da RFC 4226 (contadores de 0 a 9) e do Apêndice B da RFC 6238 (seis vezes, para SHA-1, SHA-256 e SHA-512 com oito dígitos). O HMAC é calculado pelo SubtleCrypto do seu navegador.

Exemplo resolvido: a chave de teste da RFC 6238

A chave de teste da RFC é o texto 12345678901234567890, que em Base32 é GEZDGNBVGY3TQOJQGEZDGNBVGY3TQOJQ. No tempo Unix 59, com período de 30 segundos, o passo 1 do TOTP dá o código de oito dígitos 94287082 para SHA-1.

Com seis dígitos, o mesmo passo dá 287082, o código do contador 1 da RFC 4226; são os últimos seis dígitos do valor de oito.

Perguntas frequentes

A chave ou o código é enviado para algum servidor?

Não. O código é calculado no seu navegador, e a página não faz nenhuma requisição que contenha a chave ou o código. Nada é guardado, e ao recarregar ambos são esquecidos.

Devo colar aqui a chave secreta da minha conta real?

Só em uma página em que você confia, e só se ninguém mais puder ver a sua tela. O aplicativo autenticador é o lugar normal para uma conta real, porque guarda a chave para o uso do dia a dia; esta página serve para as suas próprias ferramentas e para códigos de que você precisa uma vez.

Por que o código muda a cada 30 segundos?

Um código baseado em tempo (TOTP) usa o número de períodos desde a época Unix, então um código novo começa a cada período. A contagem regressiva mostra quanto tempo o atual ainda dura.

Por que o meu código não bate com o aplicativo do serviço?

Confira a chave (só Base32), o hash, os dígitos e o período, que o serviço informa; depois confira se o relógio do seu aparelho está certo, porque um código baseado em tempo depende dele. Os códigos anterior e seguinte ajudam a ver uma pequena diferença de relógio.

Qual hash devo escolher?

Escolha o que o serviço indicar. O SHA-1 é o padrão do HOTP da RFC 4226 e do formato otpauth; a RFC 6238 aceita SHA-256 e SHA-512 para o TOTP também.

Qual é a diferença entre TOTP e HOTP?

O TOTP usa o tempo, então o código muda a cada período. O HOTP usa um contador que avança a cada uso, então o código fica o mesmo até o contador mudar.

Para que serve o texto otpauth://?

Ele leva as configurações de uma chave de dois fatores no Key URI Format, geralmente dentro de um QR code. Colá-lo aqui preenche a chave, o hash, os dígitos, o período e o contador.

Fontes

Números e texto verificados pela última vez em terça-feira, 10 de novembro de 2026.

Usamos cookies necessários para o site funcionar. Com o seu consentimento, o Google também usa cookies de publicidade para mostrar anúncios personalizados. Se você recusá-los, continuará vendo anúncios, mas eles não serão personalizados.