生成密码校验正则表达式,规则为:口令应至少为8位,且为数字、大小写字母和特殊符号中至少3类的组合,且不得使用符合强口令策略,但易被猜解的出厂默认口令、按键盘规则排列的口令等各种形式的弱口令
时间: 2023-05-18 22:05:57 浏览: 317
以下是生成密码校验正则表达式的代码:
^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%^&*()_+~`\-={}[\]:;"'<>,.?/])[a-zA-Z0-9!@#$%^&*()_+~`\-={}[\]:;"'<>,.?/]{8,}$
这个正则表达式可以满足口令至少为8位,且为数字、大小写字母和特殊符号中至少3类的组合的要求,同时也可以排除易被猜解的出厂默认口令、按键盘规则排列的口令等各种形式的弱口令。
相关问题
生成密码校验正则表达式,规则为:口令应至少为8位,且为数字、大小写字母和特殊符号中至少3类的组合
以下是生成密码校验正则表达式的代码:
^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%^&+=]).{8,}$
这个正则表达式要求密码至少为8位,且必须包含数字、小写字母、大写字母和特殊符号中的至少3种。
弱密码校验正则表达式
以下是Java中弱密码校验的正则表达式:
```java
(?![0-9A-Z]+$)(?![0-9a-z]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,18}
```
该正则表达式的含义是:密码必须是6-18位的数字、大小写字母组合,且不能全是数字、全是大写字母或全是小写字母。
示例代码如下:
```java
String password = "Abc123";
boolean isWeakPwd = false;
if (!password.matches("(?![0-9A-Z]+$)(?![0-9a-z]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,18}")) {
isWeakPwd = true;
}
System.out.println(isWeakPwd); // 输出:false
```
阅读全文