java - 如何生成20个字符的随机字符串

标签 java

Possible Duplicate:
How to generate a random String in Java

我想在不使用 apache 类的情况下生成 20 个字符的随机字符串。我真的不在乎是否是字母数字。另外,我稍后会将其转换为字节数组。

谢谢,

最佳答案

给你。只需在第一行指定要允许的字符即可。

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);

If you are using this to generate something sensitive like a password reset URL or session ID cookie or temporary password reset, be sure to use java.security.SecureRandom instead. Values produced by java.util.Random and java.util.concurrent.ThreadLocalRandom are mathematically predictable.

关于java - 如何生成20个字符的随机字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5683327/

相关文章:

Java 访问被拒绝

java - 如何将脚本文件包含在jar中

java - 错误 : Make sure the Cursor is initialized correctly before accessing data from it?

java - 从用户 ID 获取另一个用户的用户名 - Parse & Android

java - JLabel.setText() 方法

java - 我应该使用哪个版本的 Java 来开发 MOJO Maven 插件?

java - Apache ISIS 以编程方式调用操作

java - RxJava2 Flowable 不调用 Subscriber 中的 onNext 方法

java - 什么是 Struts .struts.mex 文件

java - 如何使用 JAXB 从服务返回的 'anyType' 创建 java 对象?