Verificador de fuerza de contraseña (medidor de entropía)

Estima entropía de contraseña en bits y costo aproximado de brute-force offline.

{{ passwordEntropyMeter.message }}

Descripción

El concepto de entropía de información fue definido por Claude Shannon en 1948 en A Mathematical Theory of Communication — uno de los textos más influyentes de la historia de la informática. Shannon quería medir la imprevisibilidad de una fuente de información en bits. Aplicado a contraseñas, la fórmula es directa: la entropía equivale a la longitud multiplicada por el log2 del tamaño del charset. Un charset de solo letras minúsculas tiene 26 opciones, dando log2(26) ≈ 4,7 bits por carácter. Añade mayúsculas: 52 opciones, ≈5,7 bits. Añade dígitos: 62, ≈6,0 bits. Añade los símbolos ASCII imprimibles, 95 en total: ≈6,6 bits por carácter. Una contraseña aleatoria de 16 caracteres usando el charset completo tiene alrededor de 105 bits de entropía, lo que hace imposible cualquier ataque de fuerza bruta con la tecnología actual.

El problema con las calculadoras simples de entropía es que asumen aleatoriedad genuina, algo que las contraseñas elegidas por humanos raramente tienen. Las contraseñas humanas siguen patrones predecibles: palabras del diccionario con sustituciones de letras por números, combinaciones de nombre más año de nacimiento, patrones de teclado. La librería zxcvbn, creada por Dan Wheeler en Dropbox en 2012, adoptó un enfoque diferente: en lugar de calcular entropía teórica, estima cuántos intentos necesitaría un ataque dirigido — verificando diccionarios, distribuciones estándar de teclado como qwerty y dvorak, nombres propios y patrones de fecha. Una secuencia de cuatro palabras comunes elegidas aleatoriamente, como la contraseña del famoso cómic de xkcd, tiene más entropía real que la mayoría de las contraseñas cargadas de símbolos porque las palabras aleatorias son sistemáticamente mucho más difíciles de adivinar.

En un ataque offline, cuando el atacante tiene el archivo de hashes, la entropía marca toda la diferencia. Una GPU RTX 4090 prueba 200 mil millones de hashes MD5 por segundo. Con bcrypt a factor de costo 12, configuración habitual en producción, la misma GPU prueba solo unos 100 hashes por segundo — porque bcrypt fue diseñado deliberadamente para ser lento. Con 80 bits de entropía y bcrypt, el ataque tardaría un tiempo astronómicamente largo incluso con hardware de punta. Pero contra hashes rápidos sin sal, 80 bits no son suficientes. La distinción entre un ataque online, limitado por el rate limiting del servidor, y un ataque offline, limitado solo por el hardware, es crucial: para el primero, un PIN de 6 dígitos con bloqueo de cuenta es suficiente; para el segundo, la entropía real y una función de hash lenta son innegociables. Esta herramienta calcula en función del charset detectado — úsala como referencia inicial, no como garantía absoluta.

Detalle técnico

Ideas claras antes de usar la herramienta

  • ¿Para qué sirve esta herramienta?: Funciona por completo en tu navegador: sirve para validar, formatear o convertir datos en el día a día.
  • ¿Se envían mis datos a algún servidor?: El procesamiento es local con JavaScript. No almacenamos lo que pegas en los campos de texto.
  • ¿Puedo usarlo con datos reales en producción?: Úsalo bajo tu responsabilidad. Para secretos (contraseñas, tokens), prefiere entornos controlados y políticas internas. Recuerda de revisar los contenidos generados. Nunca confies ciegamente en cosas que ves en internet.

Fragmento corto para probar

  • Debajo aparece también el ejemplo largo en "Fragmentos de Código"; pega esta versión corta: Ejemplo — Tr0ub4dor&3

Guía de la herramienta

  • Qué es la entropía de contraseña Medida aproximada en bits de cuán difícil es adivinar una contraseña por fuerza bruta offline.

  • Qué manipula la herramienta Texto de contraseña y análisis de longitud + clases de caracteres.

  • Qué hace la herramienta Calcula bits de entropía, clasifica fuerza y estima el esfuerzo de ataque.

  • Por qué usarla Definir políticas de contraseña y validar requisitos mínimos de seguridad.

Fragmentos de Código

Ejemplo de código
Tr0ub4dor&3

Ejemplo

Tr0ub4dor&3

Preguntas frecuentes

¿Para qué sirve esta herramienta?

Funciona por completo en tu navegador: sirve para validar, formatear o convertir datos en el día a día.

¿Se envían mis datos a algún servidor?

El procesamiento es local con JavaScript. No almacenamos lo que pegas en los campos de texto.

¿Puedo usarlo con datos reales en producción?

Úsalo bajo tu responsabilidad. Para secretos (contraseñas, tokens), prefiere entornos controlados y políticas internas. Recuerda de revisar los contenidos generados. Nunca confies ciegamente en cosas que ves en internet.