如何创建一个由20个随机字节组成的数组?

| 如何在Java中创建20个随机字节的数组?     
已邀请:
尝试
Random.nextBytes
方法:
byte[] b = new byte[20];
new Random().nextBytes(b);
    
如果您希望使用不加密的强随机数生成器(也是线程安全的)而不使用第三方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);
    
如果您已经在使用Apache Commons Lang,则ѭ5可以使它成为一线式:
byte[] randomBytes = RandomUtils.nextBytes(20);
    
Java 7引入了ThreadLocalRandom,它与当前线程隔离。 这是maerics解决方案的另一种形式。
final byte[] bytes = new byte[20];
ThreadLocalRandom.current().nextBytes(bytes);
    
创建一个带有种子的Random对象,并通过执行以下操作获得随机数组:
public static final int ARRAY_LENGTH = 20;

byte[] byteArray = new byte[ARRAY_LENGTH];
new Random(System.currentTimeMillis()).nextBytes(byteArray);
// get fisrt element
System.out.println(\"Random byte: \" + byteArray[0]);
    

要回复问题请先登录注册