Validar complejidad de contraseña

Hola amigos espero que todo salgo a pedir de boca, bueno esta ves será igual que los ejemplos anteriores algo sencillo, pero algún día se podrían topar con el problema, el problema es el siguiente.
Como puedo verificar que tipo de nivel de seguridad tiene mi contraseña esto es: alto, medio o bajo, bueno hay muchas formas de hacerlo y la imaginación es el limite jaja, una forma muy sencilla es checar la longitud de tu contraseña, y poner rangos en cada uno es:
Alto: de 10 a mas caracteres teniendo un tope de 11
Medio: de 6 a 7 caracteres
Bajo: menos de 5 caracteres
Una forma burda, pero como sabes para que una contraseña sea compleja tiene que incluir números y letras por lo que me di a la tarea de armar un pequeño programa en swing, que puede servirles de mucho, especificando que solo es una plantilla lo puedes adecuar a los diferentes problemas, y a mas validaciones por el momento solo e puesto tres mensajes espero que les guste:


private void validar(java.awt.event.ActionEvent evt) {                         
String pas1="", pas2="";
pas1=password_1.getText().trim();
pas2=password_2.getText();
if(pas1.matches("[A-Za-z][0-9]{10}")){
char  clave;
byte contLetra=0, conNumero=0;
for(byte i=0; i<=pas1.length(); i++){
clave=pas1.charAt(i);
pas2=String.valueOf(clave);
if(pas2.matches("[a-zA-Z]")){
contLetra++;
System.out.println(contLetra);
}else if(pas2.matches("[0-9]")){
conNumero++;
System.out.println(conNumero);
}
}
if(contLetra==conNumero){
JOptionPane.showMessageDialog(null,"Tu contraseña tiene un nivel alto de complejidiad");
}

else if(conNumero==0){
JOptionPane.showConfirmDialog(null,"Para tener una contraseña mas confiable por favor introduce un numero como mínimo.");
}   
else if(conNumero==2&&contLetra<=3){
JOptionPane.showMessageDialog(null,"la contraseña necesita mas de 7 digitos entre numeros y letras");
}
}else 
JOptionPane.showMessageDialog(null,"La contraseña no puede tener caracteres especiales como %-&-$.");
}

1 Comentarios

  1. por que en el codigo se necesitan dos jtextfield cuando se desea validar es solo un campo.

    ResponderBorrar

Publicar un comentario

Artículo Anterior Artículo Siguiente