100 senhas — como é guardada muda a resposta mais que o comprimento
Bits de entropia e tempo até quebrar para cada cruzamento de 10 conjuntos de caracteres e 10 comprimentos. As velocidades não são inventadas: são medições publicadas do hashcat numa única RTX 4090.
ASCII completo com símbolos 12 · 78.7 bit
- NTLM (Windows)26136.9 anos
- MD545950.7 anos
- SHA-256343132.2 anos
- WPA2 Wi-Fi10^9.5 anos
- bcrypt10^10.6 anos
O que um caractere carrega
O que um caractere carrega é o logaritmo do tamanho do alfabeto: 3,3 bits só com dígitos, 4,7 com minúsculas, 6,6 com os 94 caracteres ASCII imprimíveis. A força total é isso vezes o comprimento, por isso alongar costuma vencer variar: mais um caractere ASCII rende 6,6 bits, enquanto ir de minúsculas ao ASCII completo rende só 1,9 bit por caractere.
Como o site a guardou
A mesma senha pode variar por um fator de um milhão conforme foi guardada. Uma RTX 4090 testa 288,5 bilhões de hashes NTLM por segundo e 164,1 bilhões de MD5, mas só 184 mil de bcrypt — lento de propósito. Oito caracteres ASCII com símbolos caem em menos de três horas com NTLM e aguentam mais de 500 anos com bcrypt. E quem digita a senha não escolhe qual.
Uma sílaba hangul vale dois caracteres ASCII
O bloco padrão de hangul tem 2.350 sílabas. Contando cada sílaba como um caractere, ela carrega 11,2 bits — 1,7 vez um caractere ASCII. Oito sílabas hangul superam treze caracteres ASCII e ficam abaixo de catorze. O porém é que muitos sistemas as rejeitam e sem teclado adequado não dá para digitar.
O que esta tabela conta e o que não
Os tempos aqui supõem uma senha **escolhida ao acaso** varrida do início ao fim. Senhas feitas por pessoas não duram tanto: palavras de dicionário, sequências de teclado, datas de nascimento e o ! ou 1 no fim são tentados primeiro. “P@ssw0rd!” conta 59 bits com nove caracteres ASCII, mas cai em segundos. No sentido oposto, várias placas dividem o tempo pelo número delas.
O acidente comum não é a quebra
Bem mais comum é uma senha vazada de um site ser testada em outro. Uma que levaria anos cai no dia em que o site mais fraco é invadido, se foi usada nos dois. Não reutilizar e ativar um segundo fator vêm antes de aumentar o comprimento.
Ache por alfabeto e comprimento
Tamanho do alfabeto · Comprimento
só dígitosTamanho do alfabeto 10
hexadecimalTamanho do alfabeto 16
só minúsculasTamanho do alfabeto 26
Base32Tamanho do alfabeto 32
minúsculas + dígitosTamanho do alfabeto 36
maiúsculas e minúsculasTamanho do alfabeto 52
letras + dígitosTamanho do alfabeto 62
Base64Tamanho do alfabeto 64
ASCII completo com símbolosTamanho do alfabeto 94
sílabas hangulTamanho do alfabeto 2350
Como ler
- Bits por caractere = log2(tamanho do alfabeto). Multiplique pelo comprimento.
- Tempo até quebrar = metade das combinações ÷ tentativas por segundo.
- As velocidades são medições publicadas do hashcat numa RTX 4090.
- Supõem senha aleatória. As feitas por pessoas caem bem antes.
- NTLM (Windows)2.89e+11 /s
- MD51.64e+11 /s
- SHA-2562.20e+10 /s
- WPA2 Wi-Fi2.53e+6 /s
- bcrypt1.84e+5 /s
Perguntas frequentes
Q. Quantos caracteres são seguros?
Depende de como é guardada. Doze caracteres ASCII com símbolos são 78,7 bits: 26 mil anos com NTLM, 41 bilhões com bcrypt. Com oito, o NTLM cai em menos de três horas.
Q. Mais comprimento ou mais símbolos?
Em geral comprimento. Mais um caractere ASCII soma 6,6 bits; ir de minúsculas ao ASCII completo soma só 1,9 bit por caractere.
Q. Em hangul é mais forte?
Cada sílaba carrega 11,2 bits, 1,7 vez um caractere ASCII. Mas poucos sistemas aceitam e sem teclado não dá para digitar.
Q. Esses tempos são reais?
Supõem senha aleatória varrida por inteiro. As feitas por pessoas caem bem antes com ataques de dicionário.
Q. O que mais importa?
Não reutilizar. Testar em outro site uma senha vazada é um ataque bem mais comum que quebrar uma.