최근 수정 시각 : 2025-04-27 10:41:57

UUID


1. 개요2. 구성3. 버전4. 충돌 가능성?5. 기타
5.1. the seed에서

1. 개요

Universally Unique Identifier, UUID

다양한 분야에서 활용되는 전역 고유 식별자 표준.

2. 구성

8a463aa4-b1dc-4f27-9c3f-53b94dc45e74
UUID 버전 4 예시
128비트 형식으로 16진수 32개와 4개의 하이픈(-)을 조합한 8-4-4-4-12의 패턴으로 구성되어 있다. 중간에 있는 볼드체는 UUID 버전을 의미한다.

3. 버전

버전 1부터 8까지 존재한다. 전부 다른 생성 방식을 가지고 있으며, 가장 흔히 쓰이는 버전 4는 무작위 생성 방식을 가지고 있다.
  • 버전 1: MAC 주소와 타임스탬프를 사용해 고유성을 보장하는 UUID로, 생성 시점과 장치 정보를 포함한다.
  • 버전 2: DCE 보안 목적의 UUID로, 실제로는 거의 사용되지 않으며 대부분의 구현체에서 생략된다.
  • 버전 3: MD5 해시 함수를 사용해 네임스페이스와 이름으로부터 결정론적으로 UUID를 생성한다.
  • 버전 4: 완전히 무작위로 생성되는 UUID로, 122비트를 랜덤하게 채워 매우 높은 고유성을 제공한다.
  • 버전 5: SHA-1 해시 함수를 사용해 버전 3과 유사하게 작동하지만, 더 안전한 해시 알고리즘을 채택한다.
  • 버전 6: 버전 1과 구조는 동일하나, 타임스탬프 비트 순서를 개선해 정렬과 색인이 용이하다.
  • 버전 7: 밀리초 정밀도 타임스탬프와 랜덤 데이터를 결합해 분산 시스템의 키 생성에 최적화된 UUID이다.
  • 버전 8: 커스터마이징할 수 있는 UUID로, 최소한의 버전/변형 제약만 존재한다.

4. 충돌 가능성?

UUID 버전 4의 경우에는 122비트를 완전히 무작위로 생성하기 때문에, 랜덤하게 생성된 두 개의 v4 UUID가 완전히 동일한 값을 가질 확률은 [math(2.71*10^{18})]분의 1로 벼락을 연속해서 몇 천 번 맞을 확률보다 낮다. 따라서 그대로 사용해도 문제는 없다는 것이 정설이나, 여기에 타임스탬프 등 추가적인 조치를 하는 경우도 있다.

5. 기타

  • 00000000-0000-0000-0000-000000000000으로 구성된 Nil/Empty UUID 포맷이 존재한다.

5.1. the seed에서

나무위키에서는 계정 변경/삭제 기능이 생긴 후 도입되었으며, 계정 사용자는 계정 생성 즉시, IP 사용자는 최초 활동 즉시 자동 할당된다. IP 사용자의 경우 사람 모양 클릭 시 기여내역이 없다면 문서/토론 기여 목록 탭이 뜨지 않지만, UUID 할당 이후 해당 페이지로 연결되는 탭이 보인다. 로그인한 사용자로 기여 목록을 이전한 후에도 UUID는 이미 할당되었기 때문인지 파일:비로그인 사용자 기여목록 탭.png, 해당 페이지로 들어가면 로그인 사용자로 기여내역이 이전되어 파일:로그인 사용자로 이전한 IP 사용자의 기여목록.png

문서를 편집할 때마다 생성되는 각 리비전에도 UUID가 부여되며, 각 리비전의 문서 링크도 기존 리비전 넘버에서 UUID로 바뀌었다.[1] 이로 인해 문서 내용의 일부를 가져오는 틀:문서 가져옴에서도 uuid 매개변수를 추가로 받도록 수정되었다. 문서 역사 탭에서 리비전 숫자를 누르면 해당 리비전의 uuid를 복사할 수 있다.
[1] https://namu.wiki/diff/UUID?rev=30
원래는 이랬다가, uuid 할당 이후엔 다음과 같이 변경되었다.
https://namu.wiki/diff/UUID?uuid=e8e717be-3c3a-42a1-8319-7ca00c46e56b

분류