AKI*_*WEB 2 java string random
我正在开展一个人们要求我的项目generate random String of 3000 bytes.
有可能吗?我很困惑我们如何生成3000字节的随机字符串?
我知道这样的事情 -
SecureRandom srandom = new SecureRandom();
String rand = new BigInteger(176, srandom).toString(32);
Run Code Online (Sandbox Code Playgroud)
但事实并非如此 3000 bytes
有什么方法可以得到随机字符串 3000 bytes
您可以使用SecureRandom的nextBytes()方法:
final SecureRandom srandom = new SecureRandom();
final byte []data = new byte[3000];
srandom.nextBytes(data);
Run Code Online (Sandbox Code Playgroud)
如果您需要随机字符串包含可打印字符,则可以执行以下操作:
public enum StringUtils
{
INSTANCE;
private static final String CANDIDATES = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
private static final int CANDIDATESLEN;
static
{
CANDIDATESLEN = CANDIDATES.length();
}
public static String generateRandomString(int length)
{
final StringBuffer sb = new StringBuffer(length);
for (int i = 0; i < length; i++)
{
sb.append(CANDIDATES.charAt(RANDOMSOURCE.nextInt(CANDIDATESLEN)));
}
return sb.toString();
}
}
Run Code Online (Sandbox Code Playgroud)
您可以将CANDIDATES字符串更改为您需要的任何内容.请注意,3000个字符并不一定意味着3000字节,因为这取决于您的候选选择和字符编码,但如果您坚持使用上述候选和UTF-8编码,您应该没问题.
| 归档时间: |
|
| 查看次数: |
892 次 |
| 最近记录: |