首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何生成随机的alpha-数字字符串

如何生成随机的alpha-数字字符串
EN

Stack Overflow用户
提问于 2008-09-03 02:58:43
回答 40查看 1.6M关注 0票数 1.9K

我一直在寻找一个简单的Java算法来生成一个伪随机α-数字字符串。在我的情况下,它将被用作唯一的会话/密钥标识符,在500K+生成过程中“很可能”是唯一的(我的需求并不需要更复杂的东西)。

理想情况下,我可以根据我的唯一性需求指定长度。例如,生成的长度为12的字符串可能类似于"AEYGF7K0DM1X"

EN

回答 40

Stack Overflow用户

发布于 2008-09-03 14:18:30

Java提供了一种直接这样做的方法。如果你不想要破折号,它们很容易被去掉。只需使用uuid.replace("-", "")

代码语言:javascript
运行
复制
import java.util.UUID;

public class randomStringGenerator {
    public static void main(String[] args) {
        System.out.println(generateString());
    }

    public static String generateString() {
        String uuid = UUID.randomUUID().toString();
        return "uuid = " + uuid;
    }
}

输出

代码语言:javascript
运行
复制
uuid = 2d7428a6-b58c-4008-8575-f05549f16316
票数 886
EN

Stack Overflow用户

发布于 2008-09-04 11:14:46

如果您喜欢使用Apache类,可以使用org.apache.commons.text.RandomStringGenerator (Apache共用文本)。

示例:

代码语言:javascript
运行
复制
RandomStringGenerator randomStringGenerator =
        new RandomStringGenerator.Builder()
                .withinRange('0', 'z')
                .filteredBy(CharacterPredicates.LETTERS, CharacterPredicates.DIGITS)
                .build();
randomStringGenerator.generate(12); // toUpperCase() if you want

自从阿帕奇公域朗 3.6以来,就不再推荐RandomStringUtils了。

票数 502
EN

Stack Overflow用户

发布于 2012-07-20 10:23:18

您可以为此使用阿帕奇公域库,RandomStringUtils

代码语言:javascript
运行
复制
RandomStringUtils.randomAlphanumeric(20).toUpperCase();
票数 139
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41107

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档