如何在Java中有效地生成安全的随机字母数字字符串?

2022-09-01 08:20:52

如何在Java中有效地生成安全的随机(或伪随机)字母数字字符串?


答案 1

初始化包含所有已接受字符 () 的数组,然后实例化 SecureRandom 实例,并重复调用以获取 char 数组中的随机索引。将每个字符附加到 a,直到获得预期的字符数。CHARS_ARRAYnextInt(CHARS_ARRAY.length)StringBuilder


答案 2

如果您使用Apache Commons Lang,最简单的方法是

RandomStringUtils.random(20, 0, 0, true, true, null, new SecureRandom());