UUID
IT 위키
UUID(Universally Unique Identifier, 범용 고유 식별자)는 전 세계적으로 고유한 식별자를 생성하기 위한 표준이다. 일반적으로 128비트 길이의 수로 구성되며, 시스템 간 충돌 없이 자원을 식별하는 데 사용된다. UUID는 네트워크 상의 객체, 파일, 세션, 데이터베이스 레코드 등에 폭넓게 사용된다.
1 형식[편집 | 원본 편집]
UUID는 128비트(16바이트)의 이진 데이터를 32자리의 16진수로 표현하며, 일반적으로 하이픈(-)으로 구분된 5개의 그룹으로 표시된다:
xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx
- M: UUID 버전 (Version 1~5 중 하나)
- N: 변형 정보 (Variant)
예시:
- 550e8400-e29b-41d4-a716-446655440000
2 버전[편집 | 원본 편집]
UUID는 생성 방식에 따라 여러 가지 버전이 있으며, 가장 많이 사용되는 것은 다음과 같다:
- 버전 1 (시간 기반)
- 현재 시각과 노드 식별자(MAC 주소 등)를 조합
- 고유성이 보장되지만 개인 정보 노출 가능성 존재
- 버전 3 (이름 기반, MD5 해시)
- 네임스페이스 + 이름 → MD5 해시로 UUID 생성
- 동일한 입력 → 동일한 UUID
- 버전 4 (무작위 기반)
- 난수를 기반으로 생성
- 충돌 확률이 매우 낮아 가장 널리 사용됨
- 버전 5 (이름 기반, SHA-1 해시)
- 버전 3과 유사하나 SHA-1 해시 사용
3 활용[편집 | 원본 편집]
- 분산 시스템에서 고유한 객체 식별
- 데이터베이스의 기본 키
- 세션 ID, 트랜잭션 ID
- 파일 이름 중복 방지
- URN 형식의 식별자 (예: urn:uuid:6ba7b810-9dad-11d1-80b4-00c04fd430c8)
4 UUID vs GUID[편집 | 원본 편집]
- GUID(Globally Unique Identifier)는 Microsoft에서 사용되는 UUID의 다른 명칭
- 대부분의 상황에서 UUID와 GUID는 같은 개념으로 간주됨
5 파이썬 예시[편집 | 원본 편집]
import uuid print(uuid.uuid4()) # 무작위 기반 UUID (버전 4) print(uuid.uuid1()) # 시간 기반 UUID (버전 1)
6 같이 보기[편집 | 원본 편집]
7 참고 문헌[편집 | 원본 편집]
- RFC 4122 – A Universally Unique IDentifier (UUID) URN Namespace
- Python uuid module documentation: https://docs.python.org/3/library/uuid.html