java 密码检测_Java工具集-密码检测工具

代码示例

import java.util.regex.Pattern;

/**

* @program: simple_tools

* @description: 密码检测工具类

* @author: Mr.chen

* @create: 2020-05-18 11:26

**/

public class PasswordUtils {

/**

* 判断是否为纯数字简单密码

* @param pwd

* @return 如 111111 123456 654321返回true

*/

public static boolean isSimplePwd(String pwd) {

if (null == pwd || "".equals(pwd.trim())) {

return false;

}

if (!Pattern.compile("[0-9]*").matcher(pwd).matches()) {

return false;

}

boolean flag1 = true;

boolean flag2 = true;

boolean flag3 = true;

char[] chars = pwd.toCharArray();

int iterations = chars.length - 1;

for (int i = 0; i < iterations; i++) {

int num1 = Integer.parseInt(chars[i] + "");

int num2 = Integer.parseInt(chars[i + 1] + "");

if (num1 != num2 - 1) {

flag1 = false;

}

if (num1 != num2 + 1) {

flag2 = false;

}

if (num1 != num2) {

flag3 = false;

}

if (!(flag1 || flag2 || flag3)) {

break;

}

}

return (flag1 || flag2 || flag3);

}

/**

* 检查密码合格性

* @param pwd

* @return 密码长度需8-32位且至少含数字、字母、字符中的两种 true

*/

public static boolean pwdIsOk(String pwd) {

if (null == pwd || "".equals(pwd.trim())) {

return false;

}

String pattern = "^(?![a-zA-Z]+$)(?![A-Z0-9]+$)(?![A-Z\\W_!@#$%^&*`~()-+=]+$)(?![a-z0-9]+$)(?![a-z\\W_!@#$%^&*`~()-+=]+$)(?![0-9\\W_!@#$%^&*`~()-+=]+$)[a-zA-Z0-9\\W_!@#$%^&*`~()-+=]{8,32}$";

return Pattern.compile(pattern).matcher(pwd).matches();

}

public static String checkPassword(String pwd) {

String regexZ = "\\d*";

String regexS = "[a-zA-Z]+";

String regexT = "\\W+$";

String regexZT = "\\D*";

String regexST = "[\\d\\W]*";

String regexZS = "\\w*";

String regexZST = "[\\w\\W]*";

if (pwd.matches(regexZ)) {

return "弱";

}

if (pwd.matches(regexS)) {

return "弱";

}

if (pwd.matches(regexT)) {

return "弱";

}

if (pwd.matches(regexZT)) {

return "中";

}

if (pwd.matches(regexST)) {

return "中";

}

if (pwd.matches(regexZS)) {

return "中";

}

if (pwd.matches(regexZST)) {

return "强";

}

return pwd;

}

public static void main(String[] args) {

System.out.println(pwdIsOk("??..........13a"));

}

}

本文同步分享在 博客“cwl_java”(CSDN)。

如有侵权,请联系 support@oschina.cn 删除。

本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值