DEV/JAVA

[JAVA] UUID사용하여 고유한 값 만들기

무사뎀벨레 2022. 12. 8. 14:24

 

 

 

 

 

 

Java UUID란?


GUID(Globally Unique Identifier)라고도 하는 UUID (Universally Unique Identifier)
모든 실용적인 목적을 위해 고유한 128비트 길이 값을 나타냅니다.

 

위키피디아에서 설명하는 UUID입니다. 이와 같이 UUID를 사용하여 고유한 값을 생성할 수 있습니다.

 

 

 

 

 

 

 

UUID의 구성


아래의 형태로 생성이 되는데, UUID는 16진수(각각 4자) 4개의 "-" 기호로 구성되며 길이는 36자입니다.

550e8400-e29b-41d4-a716-446655440000

출처 : https://www.techtarget.com/searchapparchitecture/definition/UUID-Universal-Unique-Identifier

이름 길이(바이트 / 비트) 내용
time_low 4 / 8 시간의 low 32비트를 부여하는 정수
time_mid 2 / 4 시간 middle 16비트를 부여하는 정수
time_hi_and_version 2 / 4 최상위 비트에서 4비트 "version",
그리고 시간의 high 12비트
clock_seq_hi_and_res clock_seq_low 2 / 4 최상위 비트에서 1-3비트는 UUID의 레이아웃형식,
그리고 13-15비트 클럭 시퀀스
node 6 / 12 48비트 노드 id

 

 

 

 

 

 

UUID의 사용 방법


Java 5부터 UUID 클래스를 사용해서 유일한 식별자를 생성할 수 있습니다. 

import java.util.UUID;

public class UUIDTest {
    public static void main(String[] args) {

        UUID uuidOne = UUID.randomUUID();
        UUID uuidTwo = UUID.randomUUID();

        System.out.println("UUID 1 => " + uuidOne.toString());
        System.out.println("UUID 2 => " + uuidTwo.toString());
    }
}


//출력
//UUID 1 => sf5e8400-53m2-nn53-me09-456292156231
//UUID 2 => 550e8400-e29b-41d4-a716-446655440000

java.util.UUID 클래스를 임포트 한 뒤, UUID 클래스의 randomUUID() 메소드를 사용해서 유일한 식별자를 생성합니다.

반응형