可能的重复:
Java中如何生成随机字符串 https://stackoverflow.com/questions/2863852/how-to-generate-a-random-string-in-java
我想在不使用 apache 类的情况下生成 20 个字符的随机字符串。我真的不在乎是否是字母数字。另外,仅供参考,我稍后会将其转换为字节数组。
Thanks,
干得好。只需在第一行指定您想要允许的字符即可。
char[] chars = "abcdefghijklmnopqrstuvwxyz".toCharArray();
StringBuilder sb = new StringBuilder(20);
Random random = new Random();
for (int i = 0; i < 20; i++) {
char c = chars[random.nextInt(chars.length)];
sb.append(c);
}
String output = sb.toString();
System.out.println(output);
如果您使用它来生成密码等敏感信息
重置 URL 或会话 ID cookie 或临时密码重置,请务必使用java.security.SecureRandom
反而。
产生的价值java.util.Random
and java.util.concurrent.ThreadLocalRandom
是数学上可预测的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)