Calculadora de entropia de senha
Informe um comprimento de senha e escolha quais tipos de caracteres ela usa para ver a entropia em bits, uma nota de força, o número total de combinações possíveis e uma estimativa aproximada de quanto tempo levaria para quebrá-la.
Como este cálculo funciona
A entropia mede o quão imprevisível é uma senha gerada aleatoriamente. Ela é calculada como bits = comprimento × log2(tamanho do conjunto), onde o tamanho do conjunto é o número de caracteres distintos disponíveis por posição: 26 para minúsculas, 26 para maiúsculas, 10 para dígitos e 32 para símbolos comuns. Selecionar mais tipos de caracteres aumenta o conjunto, e cada caractere extra no conjunto acrescenta um pouco de entropia a cada posição.
Cada caractere a mais de comprimento multiplica o número de senhas possíveis pelo tamanho do conjunto, então o comprimento tem um efeito desproporcional: acrescentar 4 caracteres a uma senha só de minúsculas quase dobra a entropia, enquanto ligar os símbolos acrescenta apenas alguns bits no total. É por isso que o conselho padrão é que «o comprimento vence a complexidade» — uma frase-senha longa feita de palavras comuns costuma ser bem mais forte do que uma bagunça curta de símbolos.
O tempo de quebra é estimado supondo que um atacante consiga testar 10 bilhões (1e10) de tentativas por segundo, uma taxa típica de ataques offline contra um arquivo de senhas roubado, sem sal ou com hash fraco, usando hardware de GPU moderno. Ataques online contra um formulário de login ativo costumam ser bem mais lentos por causa da limitação de tentativas, então os tempos reais de quebra online muitas vezes são bem maiores do que os mostrados aqui.
Exemplo resolvido
Tamanhos de conjunto usados neste cálculo
Cada categoria de caractere acrescenta um número fixo de possibilidades por posição. Esta calculadora as soma para obter o tamanho total do conjunto e então aplica bits = comprimento × log2(conjunto).
| Conjunto de caracteres | Tamanho do conjunto | Exemplo |
|---|---|---|
| Minúsculas | 26 | a, b, c … z |
| Maiúsculas | 26 | A, B, C … Z |
| Dígitos | 10 | 0–9 |
| Símbolos | 32 | ! @ # $ % ^ & * ( ) - _ = + etc. |
| Minúsculas + dígitos | 36 | ex.: 'a1b2c3d4' |
| Minúsculas + maiúsculas + dígitos | 62 | ex.: 'Kx9mQ2p7' |
| Todos os quatro conjuntos | 94 | ex.: 'Kx9!mQ2#p7' |
As notas de força explicadas
- Muito fraca (menos de 28 bits): adivinhável quase instantaneamente, comparável a um PIN de 4 dígitos.
- Fraca (28–35 bits): quebrável em minutos a horas por um ataque automatizado.
- Razoável (36–59 bits): adequada para contas de baixo valor ou descartáveis, não para nada sensível.
- Forte (60–127 bits): proteção sólida para a maioria das contas pessoais e financeiras contra a quebra offline.
- Muito forte (128+ bits): praticamente inquebrável com o poder de computação atual e do futuro próximo.
Por que o comprimento vence a complexidade
Cada caractere adicional multiplica o número total de senhas possíveis pelo tamanho do conjunto de caracteres, enquanto ligar um novo tipo de caractere apenas amplia o conjunto para os caracteres que você já tem. Passar de 8 para 12 caracteres em uma senha só de minúsculas (conjunto 26) multiplica o espaço de chaves por cerca de 26⁴ — mais de 450.000 vezes maior — enquanto adicionar símbolos a uma senha existente de 8 caracteres o multiplica por apenas cerca de (58/26)⁸ ≈ 218 vezes. É por isso que as orientações de segurança desde meados da década de 2010 (incluindo a NIST SP 800-63B) preferem frases-senha longas e memoráveis a senhas curtas recheadas de símbolos, difíceis de digitar e fáceis de esquecer.
Premissas por trás da estimativa de tempo de quebra
O tempo de quebra estimado supõe um atacante que já possui o hash da senha (por exemplo, de um banco de dados roubado) e consegue fazer 10 bilhões de tentativas por segundo — uma taxa realista para quebrar um hash rápido e sem sal com GPUs modernas. Os tempos reais de quebra variam enormemente conforme o algoritmo de hash usado para armazenar a senha (bcrypt e Argon2 são propositalmente lentos e podem reduzir a taxa de tentativas para alguns milhares por segundo), conforme a senha aparecer em dicionários de senhas vazadas, e conforme o ataque ser offline ou online com limite de tentativas. Use o número para comparar escolhas de senha de forma relativa, não como uma garantia literal.