Hashes/Cripto
TOTP Generator/Verifier
Senhas de uso único baseadas em tempo (TOTP, RFC 6238) — gere o código atual a partir de um segredo e verifique um código digitado com tolerância a desvio de relógio.
------
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
- Generate: paste a secret key (usually Base32, the same one encoded in a 2FA setup QR code) and the tool shows the current 6-digit code along with the time left before it changes.
- Verify: enter a secret and a code from an authenticator app to check whether they match.
- Verification tolerates a small amount of clock drift — it accepts a code from a neighboring time step, not just the current one.
Common uses
- Debugging your own 2FA implementation on the backend — checking that the server generates and accepts codes correctly.
- Manually generating a code for an account when you don't have your phone with the authenticator app handy.
- Figuring out why an app's code is being rejected by the server (usually the cause is a clock out of sync).
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.
Artigo sobre esta ferramenta: TOTP: como funcionam os códigos de uso único em apps autenticadores
Perguntas frequentes
Por que meu código gerado expira tão rápido?
Os códigos TOTP são baseados em tempo — por padrão, giram a cada 30 segundos, calculados a partir do tempo Unix atual e do segredo compartilhado. Essa janela curta limita por quanto tempo um código vazado continua útil.
O que acontece se o relógio do meu dispositivo estiver dessincronizado?
O TOTP depende de que ambos os lados concordem de perto sobre a hora atual. A maioria dos apps autenticadores e servidores permite uma pequena tolerância de desvio de relógio (normalmente um passo de tempo), mas um desvio maior fará com que códigos válidos sejam rejeitados.
Minha chave secreta é enviada para algum lugar ao gerar um código aqui?
Não. O código TOTP é calculado inteiramente no seu navegador — a chave secreta nunca sai do seu dispositivo.
O TOTP protege contra phishing?
Não totalmente. Se a vítima inserir a senha e o código TOTP atual em um site falso, o atacante pode usar instantaneamente os dois valores no site real, enquanto o código ainda for válido. Só chaves de hardware no padrão FIDO2/WebAuthn protegem contra esse tipo de ataque em tempo real.
Por que o servidor aceita o intervalo de tempo anterior, e não apenas o atual?
Isso compensa uma pequena latência de rede entre a geração do código no telefone e o momento em que o servidor o recebe e verifica. Sem essa tolerância, códigos legítimos às vezes seriam rejeitados por causa de um atraso comum de poucos segundos.