Início·Força de senhas

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.