본문 바로가기
JAVA

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

by 무사뎀벨레 2022. 12. 8.

 

 

 

 

 

 

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() 메소드를 사용해서 유일한 식별자를 생성합니다.

반응형

댓글