public class Md5 {
/**
* 密码强度校验<br>
*/
public static int passwordStrength(String passwd) {
int q = isChar(passwd) + isLower(passwd) + isUpper(passwd) + isNumeric(passwd);
if (passwd.length() < 6||passwd.length() > 16||q < 2) {
return -1;
}
if (passwd.length() < 8) {
return 0;
}
if (passwd.length() >= 8) {
return q - 1;
}
return 0;
}
public static int isChar(String str) {
for (int i = 0; i < str.length(); i++) {
if (!((str.charAt(i) >= 'a' && str.charAt(i) <= 'z')||(str.charAt(i) >= 'A' && str.charAt(i) <= 'Z')|(Character.isDigit(str.charAt(i))))) {
return 1;
}
}
return 0;
}
public static int isLower(String str) {
for (int i = 0; i < str.length(); i++) {
if (str.charAt(i) >= 'a' && str.charAt(i) <= 'z') {
return 1;
}
}
return 0;
}
public static int isUpper(String str) {
for (int i = 0; i < str.length(); i++) {
if (str.charAt(i) >= 'A' && str.charAt(i) <= 'Z') {
return 1;
}
}
return 0;
}
public static int isNumeric(String str) {
for (int i = 0; i < str.length(); i++) {
if (Character.isDigit(str.charAt(i))) {
return 1;
}
}
return 0;
}
public static void main(String[] args) {
System.out.println(passwordStrength("BEforever0.0"));
}
}
结果:
返回值是int类型的强度数字