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

Common uses

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.

Artigos: Hashes/Cripto

Hash Generator: em que MD5, SHA-1 e SHA-256 diferem entre si

Por que o MD5 ainda é usado para verificar a integridade de arquivos, mas não para senhas.

Checksum Verifier: como verificar que um arquivo não está corrompido

Por que um checksum coincidente confirma a integridade de um arquivo, mas não quem o criou.

HMAC: em que um hash com chave difere de um hash comum

Por que um SHA-256 comum não protege contra a adulteração de uma mensagem, mas o HMAC sim.

Bcrypt: por que as senhas são hasheadas devagar, não rápido

Por que um SHA-256 rápido é uma má escolha para senhas, e um bcrypt lento é a certa.

UUID: como são gerados identificadores que quase nunca se repetem

Por que um UUID v4 pode ser gerado de forma independente em milhões de máquinas sem risco de colisão.

Gerador de senhas: o que realmente torna uma senha forte

Por que uma senha longa feita de palavras de dicionário é mais forte que uma curta com símbolos e números.

AES: como funciona a criptografia simétrica

Por que a mesma chave cifra e decifra os dados no AES, e como isso difere da criptografia assimétrica.

Argon2: por que esse algoritmo venceu a competição de hashing de senhas

Como o Argon2 se defende melhor contra ataques com GPU do que algoritmos de hashing de senhas mais antigos.

Scrypt: por que o algoritmo precisa de tanta memória

Por que o scrypt exige deliberadamente muita memória para dificultar a quebra em dispositivos ASIC.

PBKDF2: o padrão mais antigo de alongamento de chave

Por que o número de iterações recomendado para o PBKDF2 cresce a cada ano.

X.509: o que há dentro de um certificado SSL

O que exatamente o navegador verifica no certificado de um site antes de mostrar o cadeado verde.

PGP: como funciona a criptografia de chave pública e privada

Por que se pode compartilhar livremente uma chave pública PGP, mas nunca a privada.