Regenera em 6s · RFC 6238 TOTP · calculado localmente - seu segredo nunca sai do navegador.
O que faz
Gera senhas de uso único baseadas em tempo (TOTP, RFC 6238) a partir de um segredo Base32 - o mesmo algoritmo que apps autenticadores usam para 2FA. O algoritmo (SHA1, SHA256, SHA512), a contagem de dígitos (6 ou 8) e o período em segundos são todos ajustáveis. Uma barra de progresso diminui ao longo do período; quando ela termina, um novo código aparece. O display atualiza a cada segundo.
Como usar
- Digite o segredo Base32 do seu setup de 2FA - a string por trás do QR code
otpauth://. - Configure algoritmo, dígitos e período para corresponder ao que seu serviço definiu. Os padrões (SHA1, 6 dígitos, 30 segundos) servem para a maioria dos serviços.
- Acompanhe a barra de progresso e copie o código enquanto ele estiver válido.
O display grande agrupa os dígitos com um espaço fino para legibilidade (123 456), mas Copy pega os dígitos puros (123456), então nada corrompe a colagem. O link de compartilhamento codifica o segredo e todas as opções - trate-o como uma senha, porque o segredo dentro dele abre sua conta.
Exemplos
- Segredo
JBSWY3DPEHPK3PXP, SHA1, 6 dígitos, 30 s: um código de 6 dígitos rolante que se regenera a cada 30 segundos. - Uma string que não é Base32 (letras minúsculas, espaços, um
0ou1no lugar errado) mostraInvalid Base32 secret.em vez de um código.
Como o TOTP funciona
Um código TOTP é um
HMACHMACA construction that combines a hash function with a secret key to prove a message is intact and came from someone holding the key.
chavado pelo tempo. Seu app e o servidor guardam o mesmo segredo e leem o mesmo relógio; a partir dessas duas entradas, os dois lados derivam o mesmo número curto. O segredo cruza a rede uma única vez, no setup, e nunca mais.A receita, passo a passo:
T = floor(unix_time / period) # 30 s steps: T advances every 30 s
mac = HMAC(secret, T as 8 big-endian bytes) # SHA1, SHA256, or SHA512
off = last byte of mac, low 4 bits # an offset (0..15) into the digest
num = 4 bytes at that offset, top bit cleared, mod 10^digits
code = num, zero-padded to the digit count
- Por que os códigos expiram.
Tmuda quando o período termina, então a entrada doHMACHMACA construction that combines a hash function with a secret key to prove a message is intact and came from someone holding the key.
muda, então o código muda. Nada apaga o código antigo; um novo momento simplesmente gera ohashhashA one-way function that maps data of any size to a fixed-length digest. Same input, same digest; any change, different digest; not reversible.
de um novo número. - Por que deriva de relógio quebra o login. Um servidor normalmente aceita o código do passo atual, mais ou menos um. Desvio além disso, e você computa um código para um passo que o servidor recusa.
- Por que o segredo é Base32. Base32 usa apenas A-Z e 2-7: sem minúsculas, sem
0, sem1, sem pares de caracteres parecidos. Uma pessoa consegue redigitar uma chave de setup a partir do fallback do QR code sem ambiguidade.
Bom saber
- Privado: o segredo é usado apenas localmente para computar o código - ele nunca sai do navegador.
- Esta ferramenta gera códigos; ela não é um cofre. Guarde segredos reais em um gerenciador de senhas.
- 8 dígitos e SHA256/SHA512 existem para serviços que os exigem (a RFC 6238 permite os três algoritmos). A maioria usa os padrões.
- Ferramentas relacionadas: Password Strength Analyser,
HMACHMACA construction that combines a hash function with a secret key to prove a message is intact and came from someone holding the key.
Generator, Password Generator.