una repetir numeros matriz matrices llenar letras imprimir generar ejercicios con como azar aleatorios java arrays random

matrices - llenar una matriz con numeros aleatorios sin repetir en java



¿Cómo crear una matriz de 20 bytes aleatorios? (6)

Crea un objeto aleatorio con una semilla y obtén la matriz al azar haciendo:

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]);

¿Cómo puedo crear una matriz de 20 bytes aleatorios en Java?


Java 7 introdujo ThreadLocalRandom que está aislado del hilo actual .

Esta es otra versión de la solución de la maerics .

final byte[] bytes = new byte[20]; ThreadLocalRandom.current().nextBytes(bytes);


Quería ver cómo todos se sienten sobre esto. Lo estoy usando para encriptar paquetes io a través de tcp.

//class private static ThreadLocal<SecureRandom> ThreadLocalSecureRandom = null; public static SecureRandom get ( ) { if ( ThreadLocalSecureRandom == null ) { ThreadLocalSecureRandom = new ThreadLocal<>(); } return ThreadLocalSecureRandom.get(); } //usage byte[][] InitialVector = new byte[2][4]; ThreadLocalSecureRandom.get().nextBytes(InitialVector[0]); ThreadLocalSecureRandom.get().nextBytes(InitialVector[1]);


Si desea un generador de números aleatorios criptográficamente fuerte (también seguro para subprocesos) sin utilizar una API de terceros, puede usar SecureRandom .

Java 6 y 7:

SecureRandom random = new SecureRandom(); byte[] bytes = new byte[20]; random.nextBytes(bytes);

Java 8 (aún más seguro):

byte[] bytes = new byte[20]; SecureRandom.getInstanceStrong().nextBytes(bytes);


Si ya está utilizando Apache Commons Lang, RandomUtils convierte en un RandomUtils una sola línea:

byte[] randomBytes = RandomUtils.nextBytes(20);


Pruebe el método Random.nextBytes :

byte[] b = new byte[20]; new Random().nextBytes(b);