public static String pwd(){ int i = (int)(8+Math.random()*(12-8+1)) ; return getRandomPassword(i); } public static String getRandomPassword(int len) { String result = null; while(len>=8){ result = makeRandomPassword(len); if (result.matches(".*[a-z]{1,}.*") && result.matches(".*[A-Z]{1,}.*") && result.matches(".*\\d{1,}.*") && result.matches(".*[~!@#$%^&*\\.?]{1,}.*")) { return result; } result = makeRandomPassword(len); } return "长度不得少于8位!"; } public static String makeRandomPassword(int len){ char charr[] = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890~!@#$%^&*.?".toCharArray(); StringBuilder sb = new StringBuilder(); Random r = new Random(); for (int x = 0; x < len; ++x) { sb.append(charr[r.nextInt(charr.length)]); } return sb.toString(); }
java 密码规则长度8-12,包含大小写字母、数字、特殊符号
最新推荐文章于 2022-12-08 19:46:14 发布