Java代码生成6-20位由字母、数字、特殊符号!@#$%^&*~_组成的密码
一、密码规则:6-20位,字母、数字或特殊字符!@#$%^&*~_的组合
二、思路
1.初始化一个字符数组,内容包含符合要求的所有字母数字和符号(字符不可重复)
2.通过random随机数,生成一个大于等于6小于等于20的数,作为最终密码的长度
3.通过循环,以生成的随机密码长度作为length,每次循环从字符数组中随机获取一个索引对应的字符,进行拼接,最后生成一个符合要求的密码
/**
* @Author jaychou
* @Description //TODO 生成密码:密码规则:6-20位,字母、数字或特殊字符!@#$%^&*~_的组合
* @Date 10:26 2021/7/16 0016
* @return java.lang.String
**/
public static String passwordGeneration() {
char[] charr = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890!@#$%^&*~_".toCharArray();
Random random = new Random();
int size=random.nextInt(14)+6;
String verificationCode = "";
for (int i = 0; i <size; i++) {
verificationCode+=charr[random.nextInt(charr.length)];
}
return verificationCode;
}
4.多次测试输出结果
kG0CdlD
ILdqAt72%oJ
rgjo6~kXX8mkCi
JyoZP@N6O
o0HdP3nBZ2b