java怎么实现自动生成一个由英文字母(区分大小写)、数字、符号组成,6-12个字符 的密码

2024-12-12 13:57:59
推荐回答(3个)
回答1:

我的思路如下:
1、按照你自定义的规则制作一个字典,该字典包含可构成密码的所有合法字符;
2、在[6, 12]内随机生成一个int作为密码长度;
3、从字典中随机选取一个字符,共选取int次组成密码。
4、还可以制定高级规则,如同种字符不能相邻出现等。[可选]

回答2:

StringBuffer password = new StringBuffer();
for(int i = 0; i <= (int)(Math.random()*7)+6; i++) {
int ran = (int)(Math.random()*94) + 33;
char c = (char) ran;
password.append(c);
}
System.out.println(password);

回答3:

Random类试试。