用Java写个密码合格校验算法
时间: 2023-12-12 17:03:34 浏览: 30
这里给出一个简单的 Java 密码合格校验算法实现,主要包括以下几个条件:
1. 长度要求:密码长度至少为8个字符,最大长度不超过16个字符。
2. 包含字符类型:密码中必须包含至少一个大写字母、一个小写字母和一个数字。
3. 不包含用户名:密码中不能包含用户名。
代码如下:
```java
public class PasswordValidator {
public static boolean isValid(String password, String username) {
// Check password length
if (password.length() < 8 || password.length() > 16) {
return false;
}
// Check if password contains uppercase letter, lowercase letter, and digit
boolean hasUppercase = false;
boolean hasLowercase = false;
boolean hasDigit = false;
for (int i = 0; i < password.length(); i++) {
char c = password.charAt(i);
if (Character.isUpperCase(c)) {
hasUppercase = true;
} else if (Character.isLowerCase(c)) {
hasLowercase = true;
} else if (Character.isDigit(c)) {
hasDigit = true;
}
}
if (!hasUppercase || !hasLowercase || !hasDigit) {
return false;
}
// Check if password contains username
if (username != null && password.toLowerCase().contains(username.toLowerCase())) {
return false;
}
return true;
}
public static void main(String[] args) {
String password = "Abc123456";
String username = "john";
boolean isValid = PasswordValidator.isValid(password, username);
System.out.println(isValid);
}
}
```
这个算法可以根据具体需求进行修改和扩展,比如可以添加特殊字符的要求等。