Comprobador de seguridad de contraseñas y código del medidor
Comprobador de seguridad de contraseñas
Comprobador de seguridad de contraseñas + código de medidor para formularios de registro | We.Inc
Comprueba lo fácil que es adivinar una contraseña, todo dentro de tu navegador, con estimaciones del tiempo para descifrarla y los patrones que la debilitan. Después copia un medidor de seguridad en React o JavaScript puro con un botón para mostrar la contraseña.
Una contraseña segura es la que un atacante no puede adivinar en un número razonable de intentos. Lo que más importa es la longitud, y después evitar contraseñas comunes, palabras, secuencias de teclado y fechas. Escribe una contraseña abajo para obtener una estimación sin conexión de los intentos y del tiempo para descifrarla, y luego copia un medidor listo con botón de mostrar contraseña para tu propio formulario de registro.
Qué pide la guía actual del NIST a los formularios de registro
Regla
NIST SP 800-63B
Longitud mínima
15 caracteres cuando la contraseña es el único factor; 8 cuando se usa con otro factor
Longitud máxima
Permitir al menos 64 caracteres
Reglas de composición (debe incluir un símbolo...)
No imponerlas
Cambios periódicos obligatorios
No exigirlos; forzar un cambio solo tras un compromiso
Lista de bloqueo
Rechazar contraseñas comunes, previsibles o filtradas
Pegar y gestores de contraseñas
Permitirlos
El comprobador divide tu contraseña en las piezas que un atacante probaría primero y multiplica los intentos que necesita cada pieza. Nada de lo que escribes sale de esta página. Debajo hay dos medidores de seguridad que puedes pegar en un formulario de registro, uno para React con Tailwind y otro en JavaScript puro.
Escribe una contraseña. La estimación se actualiza con cada tecla y nunca sale de tu navegador.
Lee la puntuación, de muy débil a muy fuerte, el número estimado de intentos y el tiempo para descifrarla en cuatro escenarios de ataque.
Mira qué partes se detectaron como contraseñas comunes, palabras, secuencias de teclado, series, repeticiones o años, con un aviso para cada una.
Copia el medidor de React o de JavaScript puro para tu propio formulario. Ambos incluyen un botón para mostrar la contraseña y anuncian los cambios a los lectores de pantalla.
Tres o cuatro palabras aleatorias seguidas ganan a un revoltijo corto de símbolos, y son mucho más fáciles de escribir en el móvil.
Usa un gestor de contraseñas y deja que las genere. La mejor contraseña es la que nunca tienes que recordar.
En tu propio formulario de registro, comprueba las contraseñas nuevas contra una lista de filtraciones en el servidor. Have I Been Pwned ofrece una API de rangos gratuita que nunca recibe el hash completo de la contraseña.
Pon autocomplete="new-password" en los campos de registro y autocomplete="current-password" en los de inicio de sesión para que los gestores de contraseñas ofrezcan la acción correcta.
Preguntas frecuentes
¿Es seguro escribir aquí mi contraseña real?
La comprobación se ejecuta por completo en tu navegador y la página no hace ninguna petición de red con lo que escribes. Aun así, el hábito más seguro es probar una contraseña con la misma forma que la tuya real, no la real.
¿Qué precisión tiene el tiempo para descifrarla?
Es una estimación. El comprobador usa listas cortas integradas de contraseñas y palabras comunes, así que una contraseña creada a partir de una palabra menos común puede puntuar aquí más alto de lo que merece. Los cuatro escenarios suponen velocidades de ataque típicas, desde un formulario de inicio de sesión con límite de intentos hasta una base de datos robada con un hash rápido. Los atacantes reales también usan listas de contraseñas filtradas y reglas mucho mayores que cualquier cosa que pueda incluir una página web.
¿Mi formulario de registro debe exigir un símbolo y un número?
La guía actual del NIST dice que no. Las reglas de composición empujan a la gente hacia patrones previsibles como Password1!, que cumplen la regla y aun así se adivinan. Una longitud mínima más una comprobación contra contraseñas comunes y filtradas aporta más seguridad.
¿Por qué mi formulario necesita un botón para mostrar la contraseña?
Los campos ocultos provocan errores al escribir, sobre todo en el móvil, y esos errores llevan a bloqueos y a restablecer la contraseña. Un botón permite comprobar lo que se ha escrito. Usa un botón real con una etiqueta clara y haz que el tipo del campo cambie entre password y text.
¿El código del medidor comprueba las contraseñas contra filtraciones?
No. Los medidores puntúan la longitud, la variedad y algunos patrones obvios en el navegador para dar una respuesta rápida. El control de verdad debe estar en tu servidor: exige allí la longitud mínima y rechaza las contraseñas que aparezcan en listas de filtraciones.
Por qué la longitud gana a la complejidad
Cada carácter extra multiplica el número de contraseñas posibles. Añadir una letra minúscula aleatoria lo multiplica por 26, mientras que cambiar una a por @ en una palabra no añade casi nada, porque los atacantes aplican esos cambios automáticamente.
Por eso la estimación premia las frases de contraseña largas. Cuatro palabras sin relación pueden llegar a la franja más fuerte y seguir siendo fáciles de escribir, siempre que no sean una frase famosa o la letra de una canción.
Crear un medidor en el que la gente confíe
Un buen medidor da una respuesta que coincide exactamente con las reglas del servidor. Si el medidor dice fuerte y luego el servidor rechaza la contraseña, la gente deja de confiar en ambos. Mantén las reglas en un solo lugar y muestra los mismos mensajes en los dos.
Anuncia los cambios de forma educada con aria-live para que quienes usan lectores de pantalla oigan el resultado sin perder su posición, y nunca dependas solo del color: acompaña la barra de una etiqueta de texto como Débil o Fuerte.
Medidor de seguridad en React + Tailwind con mostrar contraseña
Un campo de contraseña controlado con botón de mostrar y ocultar, una barra de cuatro pasos, una lista de reglas y una etiqueta de texto en vivo para lectores de pantalla.
Medidor en HTML y JavaScript puro
La misma idea sin framework. Pégalo en cualquier página; el script solo toca los elementos dentro del contenedor.
Muy débil
Débil
Aceptable
Fuerte
Muy fuerte
contraseña común
palabra cotidiana
secuencia de teclado
caracteres aleatorios
Contiene una de las contraseñas más comunes. Los atacantes las prueban primero.
Contiene una palabra cotidiana. Cambiar letras por símbolos (a por @) apenas ayuda.
Contiene una secuencia de teclas contiguas como qwerty o 1qaz.
Contiene una serie como abc o 1234.
Contiene caracteres repetidos.
Contiene un año. Los años de nacimiento y los años recientes se prueban pronto.
Tiene menos de 15 caracteres. La longitud aporta más seguridad que los símbolos.
En línea, con límite de intentos (100 intentos por hora)
En línea, sin límite de intentos (10 intentos por segundo)
Base de datos robada, hash lento como bcrypt (10 mil por segundo)
Base de datos robada, hash rápido como MD5 (10 mil millones por segundo)
Comprueba una contraseña
Contraseña (se queda en este dispositivo)
Ocultar
Mostrar
unos 10^{n} intentos
Tiempo medio para adivinarla
Empieza a escribir para ver la estimación.
Código del medidor de seguridad
Dos medidores que puedes pegar en un formulario de registro. Mantén las reglas del servidor iguales a las del medidor.
Prueba el medidor en JavaScript puro
Medidor de contraseñas en JavaScript puro funcionando