Programing

20 개의 임의 바이트 배열을 만드는 방법은 무엇입니까?

crosscheck 2020. 7. 19. 10:22
반응형

20 개의 임의 바이트 배열을 만드는 방법은 무엇입니까?


Java에서 20 개의 임의 바이트 배열을 어떻게 만들 수 있습니까?


Random.nextBytes방법을 시도하십시오 :

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

타사 API를 사용하지 않고 암호로 강력한 난수 생성기 (스레드 안전)를 원하는 경우을 사용할 수 있습니다 SecureRandom.

자바 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을 사용하고 있다면 RandomUtils이것을 한 줄짜리로 만듭니다.

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

참고 URL : https://stackoverflow.com/questions/5683206/how-to-create-an-array-of-20-random-bytes

반응형