mae*_*ics 256
尝试Random.nextBytes方法:
byte[] b = new byte[20];
new Random().nextBytes(b);
Run Code Online (Sandbox Code Playgroud)
Dav*_*idR 37
如果您想要一个加密强大的随机数生成器(也是线程安全的)而不使用第三方API,您可以使用SecureRandom.
Java 6&7:
SecureRandom random = new SecureRandom();
byte[] bytes = new byte[20];
random.nextBytes(bytes);
Run Code Online (Sandbox Code Playgroud)
Java 8(更安全):
byte[] bytes = new byte[20];
SecureRandom.getInstanceStrong().nextBytes(bytes);
Run Code Online (Sandbox Code Playgroud)
Dun*_*nes 15
如果你已经在使用Apache Commons Lang,那么 RandomUtils 这就是一个单行:
byte[] randomBytes = RandomUtils.nextBytes(20);
Run Code Online (Sandbox Code Playgroud)
Java 7引入了ThreadLocalRandom,它与当前线程隔离.
这是maerics解决方案的另一个演绎.
final byte[] bytes = new byte[20];
ThreadLocalRandom.current().nextBytes(bytes);
Run Code Online (Sandbox Code Playgroud)