// CRYPTOGRAPHIC TOOLS

Password Generator

Generate secure, random passwords client-side

••••••••••••••••••••
Strength

20

Como este gerador funciona

Cada caractere é sorteado a partir de crypto.getRandomValues() — o mesmo gerador de números aleatórios criptográficos que seu navegador usa em handshakes TLS e em operações WebCrypto. Ele puxa entropia do kernel do seu sistema operacional, não de um polyfill JavaScript de Math.random().

Aplicamos também rejection sampling (amostragem por rejeição) ao mapear bytes aleatórios para índices de caractere. Esse é um detalhe pequeno que a maioria dos geradores de senha erra: se você simplesmente fizer byteAleatório % tamanhoDoSet, introduz um viés pequeno mas real em direção aos caracteres iniciais do conjunto (porque 256 não divide igualmente por, digamos, 94). O viés normalmente é pequeno demais pra importar, mas pra algo explicitamente vendido como ferramenta criptográfica, fazer certo importa.

Os dois conjuntos de símbolos, explicados

Escolher caracteres simbólicos pra senhas é mais difícil do que parece. O conjunto completo (!@#$%^&*()-_=+[]{};:,.<>?/|~\'\"\\`) dá mais entropia por caractere, mas também cria atrito:

Por padrão usamos um conjunto seguro (!@#$%&*-_=+.?) que funciona em 95%+ dos formulários. Se você precisa de entropia máxima e o destino aceita tudo, ative "Conjunto estendido" para o set completo. O conjunto sempre é mostrado antes da geração — sem surpresas.

O que "forte" significa

A barra de força é baseada em entropia de Shannon — o número de bits de aleatoriedade na sua senha. Cada bit dobra o número de tentativas necessárias pra força-bruta. Uma senha de 70 bits leva ~2^70 tentativas em média pra ser quebrada offline, o que significa milhares de anos mesmo com fazendas de GPU dedicadas.

Classificação Entropia Tempo de força-bruta a 1 trilhão de tentativas/seg
Fraca < 28 bits Segundos
Razoável 28–49 bits Horas a dias
Forte 50–71 bits Décadas
Muito Forte 72+ bits Séculos

A taxa de 1 trilhão/seg assume um atacante sofisticado com hardware customizado. Seu gerenciador de senhas protege contra logins web muito mais lentos, onde rate-limiting entra em ação.

Por que nada é armazenado

Esta página não persiste sua senha em lugar nenhum. A string gerada vive na memória do navegador até você recarregar, copiar ou gerar uma nova. Sem localStorage, sem chamadas fetch, sem eventos de analytics contendo a senha. A página nem auto-gera uma senha ao carregar — você aperta Gerar quando quer uma.

Se você quer armazenamento com sincronização, use um gerenciador dedicado. Esta ferramenta existe para o momento em que você precisa inventar uma senha forte e não quer pensar muito.

Ataques online vs offline — por que a mesma senha é "fraca" e "OK" ao mesmo tempo

Quando você digita uma senha num formulário de login na web, sua tentativa é checada pelo servidor do site. Serviços modernos vigiam isso de perto: depois de três ou cinco tentativas erradas a conta é temporariamente bloqueada, exige captcha, ou dispara um email de "atividade suspeita". Mesmo com uma lista vazada de senhas, o atacante consegue testar talvez 5-10 chutes por minuto antes de ser bloqueado — e mesmo com um pequeno exército de bots distribuindo as tentativas, é difícil passar de algumas centenas por hora. Isso se chama rate limiting (limitação de taxa). Contra um atacante preso em algumas centenas de chutes por hora, uma senha de 8 caracteres em letras minúsculas (28 bits de entropia, ~200 bilhões de possibilidades) é OK. Ele simplesmente não consegue tentar o suficiente.

O cenário catastrófico é diferente. Sites são invadidos, bancos de dados são vazados, cofres de senha são roubados, backups criptografados são exfiltrados. Quando isso acontece, o atacante tem uma *cópia* dos dados na máquina dele. Sem rate limit. Sem bloqueio. Ele pode jogar um GPU farm em cima — bilhões de chutes por segundo. A mesma senha de 8 caracteres que durou pra sempre contra o login do site cai em alguns segundos. O modelo de ameaça inverte no momento em que os dados saem do ambiente controlado pelo servidor.

É por isso que a mesma senha aparece como "fraca" na barra mesmo que, pra maioria dos usos, esteja perfeitamente segura. A barra assume o pior caso: alguém tem o blob criptografado e pode atacar offline em velocidade total.

O que um gerenciador de senhas de fato faz por você

Um gerenciador de senhas resolve o problema do ataque offline de um jeito que humanos sozinhos não conseguem: ele te deixa usar uma senha aleatória única de 20 ou mais caracteres pra cada site, sem seu cérebro precisar lembrar de nenhuma. Você memoriza uma senha mestra — sua, escolhida com cuidado, longa, idealmente com palavras que você nunca vai esquecer — e o gerenciador cuida do resto. Quando um site é hackeado, só aquela senha específica é exposta, e é uma string aleatória de 20 caracteres que nenhum ataque offline vai quebrar em tempo útil. O raio do desastre cai de "todas as minhas contas" pra "essa conta específica, que eu vou trocar".

Se você não usa gerenciador de senhas hoje, esse pode ser o maior upgrade de segurança de senha disponível pra você, e custa menos que um café por mês (ou é grátis, em alguns casos). O nosso gerador existe pro momento em que você precisa de uma senha forte aleatória e não quer pensar — mas a senha que ele te dá é mais útil quando guardada em algum lugar durável, não memorizada.