import java.util.Random;
/**
* @author aijinqiang
* @create 2022/5/25 16:54
*/
public class Test {
public static void main(String[] args) {
String randomPassword = getRandomPassword(10);
System.out.println(randomPassword);
}
/**
* 随机密码生成(包含大写字母、小写字母、数字、特殊符号至少一位)
* @param len 长度
* @return
*/
public static String getRandomPassword(int len){
String str = null;
char charr[] = "abcdefghjkmnprstuvwxyzABCDEFGHJKMNPQRST2345678~!@#$%^&*-+=:;<>,?/".toCharArray();
StringBuilder sb = new StringBuilder();
Random r = new Random();
for (int x = 0; x < len; ++x) {
sb.append(charr[r.nextInt(charr.length)]);
}
str = sb.toString();
String pattern1 = ".*[a-z]+.*";
String pattern2 = ".*[A-Z]+.*";
String pattern3 = ".*[0-9]+.*";
String pattern4 = ".*[~!@#$%^&*+=:;<>,?/]+.*";
if (!(str.matches(pattern1) && str.matches(pattern2) &&
str.matches(pattern3) && str.matches(pattern4))) {
str = getRandomPassword(len);
}
return str;
}
}
生成随机密码带特殊字符数字大小写字母
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
相关阅读更多精彩内容
- 各大互联网站因为安全校验需要,防止站点大量重复请求、机器人暴力访问等情况,在校验用户身份时常采用图形校验码方式。作...
- import string,random ,relist = [chr(i) for i in range(65,...