首页 > 代码库 > 校验密码强度的参考代码
校验密码强度的参考代码
public static void main(String[] args) throws Exception { String str = "WERUIuy%^*&5467"; int i = checkStrong(str); if(i<=2){ System.out.println("密码强度不够!"); } } /** * 计算出当前密码当中一共有多少种模式 * @param pwd * @return */ public static int checkStrong(String pwd){ if(pwd.length() < 4) return 0; int modes = 0; for(int i = 0;i<pwd.length();i++){ modes |= getCharMode(pwd.charAt(i)); //或 } return bitTotal(modes); } /** * 返回当前字符的模式 * @param i * @return */ public static int getCharMode(int i){ if (i >= 48 && i <= 57) //数字 return 1; if (i >= 65 && i <= 90) //大写字母 return 2; if (i >= 97 && i <= 122) //小写 return 4; else return 8; //特殊字符 } /** * 遍历数的二进制表示,看有多少个1 * @param num * @return */ public static int bitTotal(int num){ int modes = 0; for (int i = 0; i < 4; i++) { if ((num & 1) == 1) modes++; num >>>= 1; } return modes; }
校验密码强度的参考代码
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。