100 contraseñas — cómo se guarda cambia la respuesta más que la longitud
Bits de entropía y tiempo hasta romperla para cada cruce de 10 conjuntos de caracteres y 10 longitudes. Las velocidades no son inventadas: son medidas publicadas de hashcat en una sola RTX 4090.
ASCII completo con símbolos 12 · 78.7 bit
- NTLM (Windows)26136.9 años
- MD545950.7 años
- SHA-256343132.2 años
- WPA2 Wi-Fi10^9.5 años
- bcrypt10^10.6 años
Lo que aporta un carácter
Lo que aporta un carácter es el logaritmo del tamaño del alfabeto: 3,3 bits con solo dígitos, 4,7 con minúsculas, 6,6 con los 94 caracteres ASCII imprimibles. La fuerza total es eso por la longitud, y por eso alargar suele ganar a variar: un carácter ASCII más aporta 6,6 bits, mientras que pasar de minúsculas a ASCII completo solo aporta 1,9 bits por carácter.
Cómo la guardó el sitio
La misma contraseña puede variar por un factor de un millón según cómo se guardó. Una RTX 4090 prueba 288.500 millones de hashes NTLM por segundo y 164.100 millones de MD5, pero solo 184.000 de bcrypt, que es lento a propósito. Ocho caracteres ASCII con símbolos caen en menos de tres horas con NTLM y aguantan más de 500 años con bcrypt. Y quien escribe la contraseña no elige cuál.
Una sílaba hangul vale dos caracteres ASCII
El bloque estándar de hangul tiene 2.350 sílabas. Contando cada sílaba como un carácter, aporta 11,2 bits: 1,7 veces un carácter ASCII. Ocho sílabas hangul superan a trece caracteres ASCII y no llegan a catorce. El problema es que muchos sistemas no las aceptan y sin teclado adecuado no se pueden escribir.
Lo que esta tabla cuenta y lo que no
Los tiempos aquí suponen una contraseña **elegida al azar** recorrida de principio a fin. Las contraseñas hechas por personas no aguantan tanto: palabras de diccionario, secuencias de teclado, cumpleaños y el ! o el 1 del final se prueban primero. «P@ssw0rd!» cuenta como 59 bits con nueve caracteres ASCII, pero cae en segundos. Al revés, con varias tarjetas el tiempo se divide entre cuantas haya.
El accidente habitual no es el descifrado
Mucho más común es que una contraseña filtrada en un sitio se pruebe en otro. Una que tardaría años igual cae el día que el sitio más débil sufre una brecha, si se usó en ambos. No reutilizarla y activar un segundo factor van antes que alargarla.
Búscalo por alfabeto y longitud
Tamaño del alfabeto · Longitud
solo dígitosTamaño del alfabeto 10
hexadecimalTamaño del alfabeto 16
solo minúsculasTamaño del alfabeto 26
Base32Tamaño del alfabeto 32
minúsculas + dígitosTamaño del alfabeto 36
mayúsculas y minúsculasTamaño del alfabeto 52
letras + dígitosTamaño del alfabeto 62
Base64Tamaño del alfabeto 64
ASCII completo con símbolosTamaño del alfabeto 94
sílabas hangulTamaño del alfabeto 2350
Cómo leerlo
- Bits por carácter = log2(tamaño del alfabeto). Multiplica por la longitud.
- Tiempo hasta romperla = la mitad de las combinaciones ÷ intentos por segundo.
- Las velocidades son medidas publicadas de hashcat en una RTX 4090.
- Suponen una contraseña aleatoria. Las hechas por personas caen mucho 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
Preguntas frecuentes
Q. ¿Cuántos caracteres son seguros?
Depende de cómo se guarde. Doce caracteres ASCII con símbolos son 78,7 bits: 26.000 años con NTLM, 41.000 millones con bcrypt. Con ocho, NTLM cae en menos de tres horas.
Q. ¿Más longitud o más símbolos?
Normalmente longitud. Un carácter ASCII más suma 6,6 bits; pasar de minúsculas a ASCII completo solo suma 1,9 bits por carácter.
Q. ¿Es más fuerte en hangul?
Cada sílaba aporta 11,2 bits, 1,7 veces un carácter ASCII. Pero pocos sistemas lo aceptan y sin teclado adecuado no se escribe.
Q. ¿Son reales estos tiempos?
Suponen una contraseña aleatoria recorrida entera. Las hechas por personas caen mucho antes ante ataques de diccionario.
Q. ¿Qué importa más?
No reutilizarla. Probar en otro sitio una contraseña filtrada es un ataque mucho más común que descifrarla.