Verificar si una contraseña es segura con JavaScript
JavaScript
Publicado el 21 de Diciembre del 2020 por Katas (200 códigos)
7.076 visualizaciones desde el 21 de Diciembre del 2020
Función utilizando una expresión regular para verificar que una contraseña sea segura.
Verifica que tenga como mínimo un numero (?=.*[0-9]), una letra minúscula (?=.*[a-z]), una letra mayúscula (?=.*[A-Z]) y un carácter especial (?=.*[;:\.,!¡\?¿@#\$%\^&\-_+=\(\)\[\]\{\}]). Todo esto sin espacios en blanco (?=\S+$).
Verifica que tenga como mínimo un numero (?=.*[0-9]), una letra minúscula (?=.*[a-z]), una letra mayúscula (?=.*[A-Z]) y un carácter especial (?=.*[;:\.,!¡\?¿@#\$%\^&\-_+=\(\)\[\]\{\}]). Todo esto sin espacios en blanco (?=\S+$).
1
2
3
4
5
6
7
isStrongPassword("Fran2#xo"); // true
isStrongPassword("2Franxo!"); // true
isStrongPassword("2Fran!"); // false
isStrongPassword("contraseña"); // false
isStrongPassword("fran2#xo"); // false
isStrongPassword(" Fran2#xo"); // false
isStrongPassword("Fran2#xo "); // false
Comentarios sobre la versión: 1 (2)
esas reglas de seguridad de contraseña son anticuadas. La longitud de la contraseña es mucho más importante que los caracteres especiales o los números.
Aquí hay un cálculo simple:
Como podés ver, incluso si solo usas el alfabeto de minúsculas + números para tu contraseña, si tiene una longitud de al menos 8 caracteres, ya es 10 veces más segura que una contraseña de 6 caracteres con caracteres especiales.
Entonces, si deseas proteger a tus usuarios y asegurarte de que sus contraseñas sean seguras, simplemente impone al menos 8 caracteres como contraseña.
Saludos
A tus cálculos, cuanto te sale si hay un mínimo de 8 caracteres mayúsculas, minúsculas, números y un carácter especial?
No se si esta anticuado o no, pero muchos sitios de Internet utilizan este tipo de codificaciones para la contraseña.