Validación de password por expresiones regulares
Anuncio:
De vez en cuando me gusta matar el tiempo libre haciendo algún reto hacking, acabo de toparme con uno bastante sencillo, y me dio la idea para esta entrada. Veamos como validar cadenas con expresiones regulares.
El reto en cuestión, trataba de introducir un usuario y password en prompts javascript, a priori no conocemos NADA sobre esos datos, pero si ojeamos el código fuente vemos algo como esto:
var nombre = "Admin" ;
var pass = "" ;
var regularExpression = /^[@]{3}[#]{2}$/;
while (!regularExpression.test(pass)){
nombre = prompt ("Introduce tu nombre de usuario: " , "" );
pass = prompt ("Introduce la password: " , "" );
}
alert ("OK, adelante.");
A simple vista ya sabemos cual debe ser el nombre de usuario, tendríamos la mitad del reto conseguido, pero ahora el password no aparece en texto claro, si no que debe «cumplir un patrón», debe «validar» el patrón definido por la expresión regular.
En esta página tenemos acceso al significado de los diferentes caracteres de la expresión: significado caracteres
Una vez vemos el significado de la expresión, nos dice que debe contener 3 veces el carácter ‘@’ y dos veces el carácter ‘#’.
Ya tendríamos el pass: «@@@##»
Así de simple.
Este método puede implementarse a la hora de validar formularios web con javascript, por ejemplo, para obligar a un usuario a introducir un correo electrónico con ‘@’.
Espero que os sea útil
HackSaludos!