Vazamentos de senha continuam sendo a maior porta de entrada para invasões de conta — o relatório DBIR 2024 da Verizon atribui 81% das brechas a senhas fracas ou reusadas, padrão consistente com o que o Mapa de Vazamentos da PSafe mostra ano após ano no Brasil. A matemática de uma senha forte não é complicada, mas a maioria dos geradores esconde isso do usuário. Aqui não: cada resultado mostra os bits de entropia, os quatro cenários de quebra e uma checagem de substring contra os 10 mil mais comuns do RockYou. Tudo roda no seu navegador; nada sai do seu dispositivo.
Como funciona
Você escolhe o tamanho e os conjuntos de caracteres. O widget sorteia cada caractere uniformemente do conjunto ativo usando a Web Crypto API do navegador (crypto.getRandomValues) — a mesma fonte que os sistemas operacionais modernos usam para gerar chaves TLS. Se a Web Crypto não estiver disponível, o gerador falha com erro visível em vez de cair em Math.random(); entropia silenciosamente fraca é uma falha pior que uma mensagem de erro.
Internamente o gerador usa rejection sampling para evitar viés de módulo: cada caractere tem exatamente a mesma probabilidade de ser sorteado. Restrições como sem repetição e sem sequência são aplicadas na hora da geração, não depois — não há chance de vazar uma senha que viole a regra.
O que torna uma senha forte (a resposta honesta)
O conselho popular — “misture maiúscula, minúscula, número e símbolo” — é um proxy para a resposta real: entropia. Entropia depende só de dois inputs: o tamanho do alfabeto e o comprimento da senha.
Exemplo concreto: senha123! parece adequada. Tem 9 caracteres, mistura letras e números, usa símbolo. No papel carrega cerca de 59 bits. O problema é que senha e 123 ambos aparecem nos top-100 do RockYou. Qualquer atacante sério começa pelo dicionário e aplica substituições óbvias (e→3, i→1) antes de partir para força bruta. Nossa checagem RockYou marca esse tipo de caso.
Em contraste, uma senha de 10 caracteres aleatórios como tH7@kp9LmQ entrega ~65 bits e não está em nenhum dicionário comum. A contagem de bits é parecida; a resistência a ataques reais não. Comprimento bate complexidade — adicionar um caractere aleatório vale mais que trocar uma letra por um símbolo parecido.
Entropia explicada
A fórmula cabe em uma linha: bits = comprimento × log₂(tamanho_do_alfabeto). Um alfabeto de 95 ASCII imprimíveis em 16 caracteres dá 16 × log₂(95) ≈ 105 bits. Um PIN de 6 dígitos dá 6 × log₂(10) ≈ 20 bits — razão pela qual PIN curto não deve ser senha principal de nada.
Pra dar palpabilidade ao número, contra MD5 numa RTX 4090 ou sucessora (~288 bilhões de hashes por segundo): 40 bits caem em cerca de 2 segundos. 60 bits resistem cerca de três semanas contra esse mesmo rig. 80 bits sobrevivem por dezenas de milhares de anos contra uma GPU única, e décadas mesmo contra clusters de mil placas dedicadas. Cada bit a mais dobra o esforço médio do atacante — é por isso que comprimento ganha de complexidade.
As categorias que mostramos seguem boundaries do NIST:
- Fraca — menos de 36 bits. Quebrável offline em minutos numa GPU moderna.
- Razoável — 36 a 60 bits. Segura online, fraca offline.
- Forte — 60 a 80 bits. Praticamente segura para a maioria dos modelos de ameaça.
- Muito forte — 80 a 128 bits. O default de 16 caracteres cai aqui.
- Extrema — 128+ bits. Inalcançável computacionalmente com hardware previsível.
Tempo para quebrar — o que esses números querem dizer
Mostramos quatro cenários, do menos para o mais favorável ao atacante:
- Online (com limite) ~100 tentativas por hora. O teto realista para um login bem defendido — qualquer banco sério, do Itaú ao Nubank, opera nessa ordem.
- Online (sem limite) ~1M tentativas por segundo. O que você enfrenta quando um serviço esquece do rate-limit, ou num endpoint de API que devolve sucesso/falha rapidamente.
- Offline (bcrypt, lento) ~14k tentativas por segundo em uma RTX 4090 (benchmark hashcat v6.2.6, 2026). É o que o atacante enfrenta quando o vazamento usa hash lento propositadamente.
- Offline (NTLM/MD5, rápido) ~288,5 bilhões por segundo na mesma GPU. O pior caso — vazamento de banco que usou hash rápido.
Leitura honesta: quando aparece “3 dias” ao lado de Offline (NTLM/MD5), o atacante não está descobrindo a sua senha em três dias — ele está testando todas as senhas em todas as posições de força até a sua, e a sua cai em algum ponto desse intervalo em média.
Detalhe que não aparece no widget mas decide o jogo: como o serviço armazena sua senha do lado dele. Pra uma senha de força média (~50 bits), bcrypt ou Argon2 — lentos por design — fazem o atacante levar dezenas de milhares de anos pra quebrar com o dump na mão. MD5 sem salt, na mesma senha, cai em cerca de uma hora. O vazamento Serasa de 2021, com ~220 milhões de CPFs e dados associados, foi sobre dados PII direto, não hashes — mas serve de lembrete: vazamentos massivos no Brasil acontecem, e quando senhas estão na pilha vazada, o algoritmo do servidor decide tudo. Você não controla o hash que o serviço usa; pode, no máximo, dar preferência a serviços que publicam essa escolha.
Quando usar o modo em massa
Aumente Quantidade acima de 1 e o widget vira tabela com botão Baixar CSV. Três casos de uso comuns:
- Admins criando contas em lote. Gera 50 senhas distintas, distribui pelo canal normal de entrega (não por e-mail).
- Devs populando seed data. Senhas verossímeis para fixtures de QA sem repetir
teste123em todas as linhas. - Workshops e turmas. Gera um CSV de credenciais iniciais, entrega aos participantes, rotaciona depois do primeiro login.
O CSV é montado inteiramente no navegador e nunca sai do dispositivo. Sempre force rotação na primeira entrada de quem recebeu senha de lote.
Erros comuns
Reusar uma senha forte em vários sites é uma falha pior que usar uma um pouco mais fraca mas única. Reúso converte um vazamento em ataque de credential stuffing — o atacante tenta o mesmo par e-mail/senha em dezenas de serviços. Um gerenciador de senhas resolve isso; recomendamos qualquer um reputável, sem afiliação.
Tentar ser esperto no manual — a→@, o→0, e→3 — não compra resistência contra ferramentas modernas. Todos os dicionários de cracking aplicam essas substituições por default. O preço de fingir esperteza é digitar mais devagar e esquecer mais rápido.
Compartilhar senha de empresa pelo grupo de WhatsApp do time pode te colocar em violação direta da LGPD se aquele canal não for tratado como confidencial. Trate senhas como dado sensível e use canais de credenciais dedicados — não a conversa informal.
Humanos são notoriamente ruins em ser aleatórios. Pedido pra escolher um número entre 1 e 100, uma fração desproporcional de qualquer sala responde 37 ou 73 — frequência várias vezes acima do que seria esperado se as escolhas fossem realmente aleatórias. Escolhas humanas grudam em padrões de teclado (qwerty, 1qaz2wsx), datas, nomes, meio do teclado. Senha digitada “de cabeça” é confiar numa qualidade que comprovadamente não temos.
E os medidores de força em formulário de cadastro? Não confie. P@ssw0rd1 pontua “forte” na maioria deles porque marca todas as caixas (maiúscula, minúscula, dígito, símbolo) — mas qualquer wordlist de cracking com regras hashcat aplicadas em cima quebra em segundos. O número de entropia que mostramos aqui é calculado do sorteio efetivo, não de heurística de classe de caractere; por isso os dois podem discordar.

