问题
如何在Java中创建一个包含20个随机字节的数组?
#1 热门回答(228 赞)
试试Random.nextBytes
方法:
byte[] b = new byte[20];
new Random().nextBytes(b);
#2 热门回答(22 赞)
如果你想要一个加密强大的随机数生成器(也是线程安全的)而不使用第三方API,你可以使用SecureRandom
。
Java 6&7:
SecureRandom random = new SecureRandom();
byte[] bytes = new byte[20];
random.nextBytes(bytes);
Java 8(更安全):
byte[] bytes = new byte[20];
SecureRandom.getInstanceStrong().nextBytes(bytes);
#3 热门回答(13 赞)
如果你已经在使用Apache Commons Lang,那么RandomUtils
就是一个单行代码:
byte[] randomBytes = RandomUtils.nextBytes(20);