Como foi construído
Documentação técnica
A engenharia do PassGuard: um medidor de força de senha que roda 100% no navegador — sua senha não sai da máquina, e nada é salvo.
1. Entropia de charset
O ponto de partida é a incerteza em bits: o tamanho do alfabeto usado (R) elevado ao comprimento (L).
E = L × log₂(R)
// R = 26(a-z) + 26(A-Z) + 10(0-9) + 33(símbolos)
2. Por que a conta bruta engana
Password1! tem ~65 bits na conta bruta — pareceria forte. Mas um ataque real não testa caractere por caractere: testa palavras + sufixos primeiro. O espaço de busca real é minúsculo.
Por isso o motor detecta e desconta padrões humanos, limitando a nota (um cap) quando encontra:
- Palavra comum + sufixo (de-leet:
P4ss→pass) — estima ~14 bits da lista + o resto. - Sequências (
abcd,4321) por varredura de código de caractere. - Padrões de teclado (
qwerty,asdf). - Repetição (
aaaaaa) e anos (1990,2024).
3. Três velocidades de ataque
A mesma senha leva tempos absurdamente diferentes dependendo de como o site a guarda. Mostramos os três — porque o número único mente:
online (rate-limit) ~ 1.000 tentativas/s
vazamento + GPU ~ 100.000.000.000/s (hash rápido, MD5/NTLM)
hash forte (bcrypt) ~ 10.000/s (mesmo vazado)
Usamos o tempo esperado (metade do espaço de busca).
4. Limites honestos
- Não é um dicionário completo: pegamos as bases mais abusadas. Uma frase-senha longa e incomum pode ser superestimada — mas ela já é forte.
- Sem servidor: tudo é JavaScript no cliente; a senha não é enviada nem salva.
- As velocidades são estimativas de referência — ataques reais variam com hardware e algoritmo.