SeouliteLab

[Java/자바] Random bytes 생성하기 (Random 16진수 생성) 본문

프로그래밍

[Java/자바] Random bytes 생성하기 (Random 16진수 생성)

Seoulite Lab 2024. 3. 11. 09:16

Java에서 무작위의 바이트 배열을 생성하거나 무작위의 16진수를 생성해야 할 때가 있습니다. 이를 위해 Java의 Random 클래스를 사용할 수 있습니다. 이번에는 Random 클래스를 사용하여 무작위의 바이트 배열 및 16진수를 생성하는 방법을 알아보겠습니다.

1. 무작위의 바이트 배열 생성

아래 예제는 Random 클래스를 사용하여 지정된 길이의 무작위의 바이트 배열을 생성하는 방법을 보여줍니다.

import java.security.SecureRandom;

public class RandomBytesExample {
    public static void main(String[] args) {
        int length = 10; // 생성할 바이트 배열의 길이
        byte[] randomBytes = new byte[length];

        SecureRandom secureRandom = new SecureRandom();
        secureRandom.nextBytes(randomBytes);

        // 생성된 무작위 바이트 배열 출력
        System.out.println("Random Bytes:");
        for (byte b : randomBytes) {
            System.out.print(Integer.toHexString(b & 0xFF) + " ");
        }
    }
}

2. 무작위의 16진수 생성

아래 예제는 Random 클래스를 사용하여 무작위의 16진수를 생성하는 방법을 보여줍니다.

import java.util.Random;

public class RandomHexExample {
    public static void main(String[] args) {
        int length = 10; // 생성할 16진수의 길이
        Random random = new Random();
        
        // 무작위 16진수 생성
        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < length; i++) {
            sb.append(Integer.toHexString(random.nextInt(16)));
        }

        // 생성된 무작위 16진수 출력
        System.out.println("Random Hexadecimal:");
        System.out.println(sb.toString());
    }
}