Here i used this code for generating one password which should contain a uppercase,a lowercase and a number and a special char. this is my code for checking.
String randomPassword = genRanPass();
boolean hasUppercase = !randomPassword.equals(randomPassword.toLowerCase());
boolean hasLowercase = !randomPassword.equals(randomPassword.toUpperCase());
boolean hasNumber = randomPassword.matches(".*\\d.*");
if(!(randomPassword.contains("!") || randomPassword.contains("@") || randomPassword.contains("#") || randomPassword.contains("$") || randomPassword.contains("_") || randomPassword.contains("-"))){
while(!hasUppercase && hasLowercase && hasNumber)
{
randomPassword = genRanPass();
}
}else{
while(!hasUppercase && hasLowercase && hasNumber)
{
randomPassword = genRanPass();
}
return randomPassword;
}
genRanPass(); generating a password having random number,a spcial char,a letter Uppercase and lower case
but i got hnga$VVj from my method and when i am checking
while(!hasUppercase && hasLowercase && hasNumber)
{
randomPassword = genRanPass();
}
return randomPassword;
while(!hasUppercase && hasLowercase && hasNumber) its became true,true and false,its not going inside this method plase help me.
{