UUID / GUID 생성기

v1, v4 또는 v5 형식의 UUID를 대량으로, 형식을 지정하여, 선택적 접두사/접미사와 함께 생성합니다.

버전 참조


v4 — 무작위

버전 4 UUID는 전적으로 무작위(또는 의사 무작위) 바이트로 생성됩니다. 128비트 중 122비트가 무작위이며, 나머지 6비트는 버전(4)과 변형을 인코딩합니다. 구조화된 정보를 담지 않기 때문에 v4 UUID는 가장 단순한 선택입니다. 공유 상태, 네트워크 시계, 네임스페이스 조정이 필요하지 않습니다. 중복이 생성될 확률은 천문학적으로 낮습니다. 고유성이 필요하지만 시간 순서는 필요하지 않은 데이터베이스 기본 키, 세션 토큰 및 모든 상황에서 기본값으로 v4를 사용하세요.

Wikipedia — UUID Version 4 (random)

v1 — 시간 기반

버전 1 UUID는 60비트 타임스탬프(그레고리력 개혁일인 1582년 10월 15일 이후 100나노초 간격), 14비트 클록 시퀀스, 48비트 노드 식별자(역사적으로 생성 기기의 MAC 주소)를 포함합니다. 타임스탬프가 최상위 구성 요소이므로 v1 UUID는 사전식으로 비교할 때 시간순으로 정렬됩니다. 이는 클러스터형 데이터베이스 인덱스에 유용한 특성입니다. 그 대가는 개인정보입니다. v1 UUID는 기기의 MAC 주소와 정확한 생성 시각을 노출합니다. 최신 구현에서는 이러한 노출을 피하기 위해 무작위 노드를 대체 사용합니다.

Wikipedia — UUID Version 1 (time-based)

v5 — 네임스페이스 + 이름 (SHA-1)

버전 5 UUID는 결정적입니다. 동일한 네임스페이스 UUID와 동일한 이름 문자열이 주어지면 출력은 항상 동일합니다. 이 알고리즘은 네임스페이스 바이트와 UTF-8로 인코딩된 이름을 연결하고 SHA-1로 해싱한 다음, 160비트 다이제스트를 128비트로 접습니다(버전 비트를 5로, RFC 4122 변형을 설정). 이 때문에 v5는 안정적이고 재현 가능한 식별자를 생성하는 데 이상적입니다. 예를 들어 URL을 절대 변하지 않는 UUID에 매핑하거나, 조회 테이블 없이 레거시 문자열 키를 UUID로 변환할 수 있습니다. v3는 대신 MD5를 사용하며, SHA-1이 충돌을 더 적게 생성하므로 v5가 선호됩니다.

Wikipedia — UUID Version 5 (name-based)