Java如何生成随机的字母数字字符串?

下面的代码向您展示如何使用Apache Commons-Lang RandomStringUtils类生成一些随机字符串数据。

package org.nhooo.example.commons.lang;

import org.apache.commons.lang3.RandomStringUtils;

public class RandomStringUtilsDemo {
    public static void main(String[] args) {
        // 创建一个64个字符长度的随机数字字符串。
        String result = RandomStringUtils.random(64, false, true);
        System.out.println("random = " + result);

        // 创建长度为64个字符的随机字母字符串。
        result = RandomStringUtils.randomAlphabetic(64);
        System.out.println("random = " + result);

        // 创建长度为32个字符的随机ascii字符串。
        result = RandomStringUtils.randomAscii(32);
        System.out.println("random = " + result);

        // 根据定义的数组创建一个32个字符的字符串长度
        // 字符,包括数字和字母字符。
        result = RandomStringUtils.random(32, 0, 20, true, true, "qw32rfHIJk9iQ8Ud7h0X".toCharArray());
        System.out.println("random = " + result);
    }
}

我们的程序结果示例如下:

random = 2807246146525875794860509906530938229981588250176397328237925194
random = SWMZqKHTfWkJOIMMliShJKSGHIiBcQJxukwLQxazxZymuSCyLVCDTYsFehrIPwRr
random = e}&"_8Ek%F'7&_T8\G~YPEG2#N-^_|xw
random = 0IHI8dIk2Xf0fJX0HqJr78dq7w92Qd0U

Maven依赖

<!-- https://search.maven.org/remotecontent?filepath=org/apache/commons/commons-lang3/3.9/commons-lang3-3.9.jar -->
<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-lang3</artifactId>
    <version>3.9</version>
</dependency>

Maven中央