用于特殊字符的随机数生成器

jun*_*idp 2 java

我试图生成带有特殊字符的随机数

我为简单整数做的是

Random randomGenerator = new Random();
int randomNumber = randomGenerator.nextInt();
Run Code Online (Sandbox Code Playgroud)

我能做些什么才能在随机数字中得到这样的东西

String salt = "Random$SaltValue#WithSpecialCharacters12@$@4&#%^$*";
Run Code Online (Sandbox Code Playgroud)

谢谢

Ron*_*yen 8

您可以尝试以下方法:

  • 初始化你的特殊字符集.
  • 创建一个StringBuilder以包含所需的字符串.
  • 获取随机字符并附加到StringBuilder对象.

代码:

final String alphabet = "<Your special characters>";
final int N = alphabet.length();
Random rd = new Random();
int iLength = <length you want>;
StringBuilder sb = new StringBuilder(iLength);
for (int i = 0; i < iLength; i++) {
    sb.append(alphabet.charAt(rd.nextInt(N)));
}
Run Code Online (Sandbox Code Playgroud)


Dun*_*nes 7

如果您乐意使用第三方库,您可能会发现RandomStringUtilsApache Commons Lang 的课程很有帮助.

您可以指定允许的字符集(或使用所有可用字符).