본문으로 바로가기

UUID 버전 1 생성기

UUIDv1 • 그레고리력 타임스탬프 & 가상 MAC
00000000-0000-0000-0000-000000000000
감싸기:

UUID 대량 배치 생성

최대 5,000개
형식 및 구조 설정

준비 완료

No batch active
레거시 표준RFC 9562 섹션 5.1 / RFC 4122

UUID 버전 1 기술 사양 (그레고리력 타임스탬프)

UUIDv1은 1582년 10월 15일부터 100나노초 단위로 측정된 60비트 그레고리력 시각과 클록 시퀀스, 노드 하드웨어 주소를 결합하여 128비트 고유 식별자를 생성합니다.

비트필드 레이아웃 및 바이너리 구조

RFC 표준에 따른 128비트 바이트 세부 구조입니다.

필드 이름비트 범위용도 및 설명
time_low32비트 (0-31)그레고리력 타임스탬프의 하위 32비트.
time_mid16비트 (32-47)그레고리력 타임스탬프의 중간 16비트.
time_hi_and_ver16비트 (48-63)버전 4비트 (0001) + 타임스탬프 상위 12비트.
clock_seq16비트 (64-79)변형 2비트 (10) + 클록 시퀀스 카운터 14비트.
node48비트 (80-127)노드 하드웨어 식별자(무작위 멀티캐스트 주소).

장점 및 특징

  • 100나노초 정밀도의 고해상도 타임스탬프.
  • 하드웨어 주소 결합을 통한 고유성 보장.
!

고려사항 및 제한점

  • 물리적 MAC 주소 노출 위험이 있음.
  • 시간 하위 비트가 문자열 앞쪽에 위치하여 단순 사전순 정렬이 불가함.

권장 사용처

  • RFC 4122 v1 기반의 기존 레거시 분산 시스템.
  • Apache Cassandra 및 ScyllaDB의 TimeUUID 컬럼.

지양해야 할 사용처

  • 최신 웹 및 클라우드 네이티브 아키텍처(UUIDv7 권장).

코드 구현 예제

Python Standard LibraryPython
import uuid

id = uuid.uuid1()
print(id)

자주 묻는 질문

이 생성기는 실제 기기 MAC 주소를 노출하나요?
아닙니다. RFC 9562 권고안에 따라 사용자의 개인정보를 보호하기 위해 안전한 무작위 멀티캐스트 노드 주소를 생성합니다.
UUIDv1이 시간순으로 정렬되지 않는 이유는 무엇인가요?
시간의 최하위 비트(time_low)가 문자열 맨 앞에 위치하기 때문입니다.