—
Longitud
Número total de caracteres. NIST SP 800-63B exige un mínimo de 8 caracteres. OWASP recomienda al menos 15. La longitud es el factor más determinante para la seguridad, siempre que los caracteres sean impredecibles. Umbrales: <8 = Crítico, 8-11 = Bajo, 12-15 = OK, ≥16 = Ideal.
—
Entropía efectiva
Mide la imprevisibilidad real de la contraseña en bits. Se calcula como log₂ del número estimado de intentos que necesitaría el ataque más inteligente posible (diccionario con reglas, patrones de teclado, fechas, etc.), no la fuerza bruta pura. A más bits, más segura. Referencia: <25 = baja, 25-40 = media, 40-60 = alta, >60 = excelente.
—
Pool de caracteres
Número total de caracteres posibles por posición si un atacante usara fuerza bruta pura: minúsculas (26) + mayúsculas (26) + dígitos (10) + símbolos (32) + espacios (1). Un pool mayor dificulta los ataques de fuerza bruta, pero no protege contra ataques de diccionario.
—
Caracteres únicos
Proporción de caracteres distintos respecto al total. Una contraseña con muchos caracteres repetidos (ej. «aaa111») tiene menos entropía real que una con alta variedad. Umbrales: <40% = baja, 40-60% = media, 60-80% = buena, >80% = excelente.
Composición de la contraseña
Desglose de los tipos de caracteres presentes. OWASP recomienda combinar varios tipos, aunque NIST SP 800-63B indica que la diversidad forzada (exigir mayúsculas, símbolos, etc.) puede ser contraproducente si lleva a patrones predecibles como «Palabra123!». Lo más importante es la longitud y la imprevisibilidad.
Análisis de passphrase
Una passphrase es una contraseña formada por varias palabras separadas. Si las palabras se eligen de forma aleatoria (ej. método Diceware con dado), cada palabra aporta ~12,9 bits de entropía (log₂ de 7.776 palabras). 4 palabras Diceware ≈ 51,7 bits. NIST y la EFF recomiendan este método por su equilibrio entre seguridad y facilidad de memorización.
Verificación de filtraciones (Have I Been Pwned)
Consulta la base de datos de Have I Been Pwned (HIBP), mantenida por Troy Hunt, que contiene más de 900 millones de contraseñas filtradas en brechas de seguridad conocidas. Se usa el protocolo de k-anonymity: solo se envían los 5 primeros caracteres del hash SHA-1 (de 40 totales). La API devuelve todos los sufijos coincidentes y la comparación final se realiza localmente en tu navegador. Tu contraseña completa nunca abandona tu dispositivo.
Comprobando en la base de datos de filtraciones…
🔒 Privacidad garantizada: Protocolo de k-anonymity. Solo se envían los 5 primeros caracteres del hash SHA-1 (de 40). La comparación final se realiza en tu navegador. Tu contraseña completa nunca sale de tu dispositivo.
⏱️ Tiempo estimado de descifrado
Tiempo medio estimado para descifrar la contraseña en 4 escenarios reales de ataque, usando las combinaciones efectivas (ataque inteligente), no la fuerza bruta pura. El cálculo es: combinaciones_efectivas ÷ velocidad ÷ 2 (media estadística). Las velocidades están basadas en benchmarks reales de Hashcat y hardware de referencia de gama alta. Los tiempos son orientativos; un atacante con recursos podría ser más rápido.
🔍 Patrones y debilidades detectadas
El motor descompone la contraseña en tokens reconocibles: palabras de diccionario (ES/EN), secuencias, patrones de teclado, fechas, años, leet speak y símbolos comunes. Los atacantes usan estas mismas técnicas con herramientas como Hashcat y John the Ripper. Los niveles de severidad son: ● Crítico, ● Alto, ● Medio, ● Bajo.
💡 Recomendaciones
Consejos personalizados según las debilidades detectadas, alineados con las directrices de NIST SP 800-63B, OWASP, CISA y la EFF. La recomendación principal de NIST es priorizar la longitud sobre la complejidad forzada, y usar un gestor de contraseñas para generar y almacenar credenciales únicas.