UUID
UUID 생성기
무작위 버전 4 UUID를 생성하세요.
UUID에 대하여
UUID(범용 고유 식별자)는 128비트 값으로, 거의 항상 하이픈으로 구분된 다섯 그룹의 16진수 32자리로 표시됩니다. 버전 4 UUID는 무작위 비트로 생성되므로, 독립적으로 생성된 두 UUID가 실제로 같아지는 일은 없습니다.
여기서 생성되는 버전 4는 실제로 쓰이는 여러 UUID 버전 중 하나일 뿐입니다. 버전 1은 생성한 기기의 MAC 주소와 타임스탬프를 인코딩하는데, 정렬에는 유용하지만 무작위 ID라면 드러나지 않을 정보를 노출합니다. 버전 3과 5는 네임스페이스와 이름으로부터 결정적으로 해시되므로 같은 입력은 항상 같은 UUID를 만들어 내며, 콘텐츠 주소 기반 식별자에 유용합니다. 더 새로운 버전 7은 밀리초 단위 타임스탬프를 앞쪽 비트에 담아, UUID가 시간순으로 정렬되도록 만드는데, 이는 버전 4의 순수한 무작위성으로는 결코 할 수 없는 일입니다.
사용되는 곳
- 순차적일 필요가 없는 데이터베이스 행의 기본 키
- API 요청을 위한 멱등성 키
- 세션, 요청, 분산 시스템 이벤트를 위한 고유 식별자
- 자동 증가 ID와 달리 생성 순서를 노출하지 않는 익명 식별자
자주 묻는 질문
생성된 두 UUID가 충돌할 수 있나요?
이론적으로는 가능하지만 실제로는 거의 없습니다. 버전 4 UUID는 122비트의 무작위성을 가지므로, 수십억 개의 ID에서도 충돌 가능성은 무시할 수 있는 수준입니다.
UUID는 생성 시간으로 정렬할 수 있나요?
버전 4는 그렇지 않습니다. 시간순으로 정렬 가능한 ID가 필요하다면 UUIDv7이나 ULID 같은 시간 순서 기반 대안을 살펴보세요.
UUID에 비밀스러운 정보가 담겨 있나요?
아닙니다. v4 UUID는 단순한 무작위 비트일 뿐이며, 이를 생성한 서버, 사용자, 시간을 담고 있지 않습니다.
그냥 UUIDv1이나 더 새로운 UUIDv7을 쓰면 안 되나요?
버전마다 서로 다른 속성을 맞바꿉니다. 이 도구가 생성하는 UUIDv4는 순서도 내장된 정보도 없는 순수한 무작위성으로, ID가 언제 어디서 만들어졌는지 드러내고 싶지 않을 때 적합한 선택입니다. UUIDv1은 타임스탬프와 MAC 주소를 담고, UUIDv7은 타임스탬프만 담아 생성 시각순으로 정렬되는 ID를 제공하는데, 이는 무작위 v4 값보다 데이터베이스가 훨씬 효율적으로 색인할 수 있습니다. 삽입 순서 성능이 중요하고 생성 시각이 드러나도 괜찮다면 v7을 선택하세요.