•  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

UUID(r17 Blame)

r17
r1
(삭제된 사용자)
1[[분류:식별 번호]][[분류:컴퓨터 공학]]
2[목차]
3[clearfix]
4== 개요 ==
5{{{+2 '''U'''niversally '''U'''nique '''Id'''entifier, UUID}}}
6
7다양한 분야에서 활용되는 고유 식별자 표준이다.
8
9== 구성 ==
r16
10||<bgcolor=#fff,#2d2f34><tablealign=center> a6446790-d3a6-'''4'''583-8f68-0f766f5f3800 ||
r1
(삭제된 사용자)
11|| UUID 버전 4 예시 ||
12128비트 형식으로 [[16진수]] 32개와 4개의 하이픈(-)을 조합한 8-4-4-4-12의 패턴으로 구성되어 있다. 중간에 있는 '''볼드체'''는 UUID 버전을 의미한다.
13
14== 버전 ==
15버전 1부터 8까지 존재하며 버전 별로 생성 방식이 다르다. 가장 흔히 쓰이는 버전 4는 무작위 생성 방식을 가지고 있다.
16 * '''버전 1''': [[MAC 주소]]와 타임스탬프를 사용해 고유성을 보장하는 UUID로, 생성 시점과 장치 정보를 포함한다.
17 * '''버전 2''': DCE 보안 목적의 UUID로, 실제로는 거의 사용되지 않으며 대부분의 구현체에서 생략된다.
r2
(삭제된 사용자)
18 * '''버전 3''': 128비트의 [[MD5]] 해시 함수를 사용해 네임스페이스와 이름으로부터 결정론적으로 UUID를 생성한다.
r4
19 * '''버전 4''': 완전히 무작위로 생성되는 UUID로, 122비트를 랜덤하게 채워 매우 높은 고유성을 제공한다. [[the seed]]에서 채용한 버전의 UUID이다.
r2
(삭제된 사용자)
20 * '''버전 5''': 160비트의 [[SHA-1]] 해시 함수를 사용해 '''버전 3'''과 유사하게 작동하지만, 더 안전한 해시 알고리즘을 채택한다.
r1
(삭제된 사용자)
21 * '''버전 6''': '''버전 1'''과 구조는 동일하나, 타임스탬프 비트 순서를 개선해 정렬과 색인이 용이하다.
22 * '''버전 7''': 밀리초 정밀도 타임스탬프와 랜덤 데이터를 결합해 분산 시스템의 키 생성에 최적화된 UUID이다.
23 * '''버전 8''': 커스터마이징할 수 있는 UUID로, 최소한의 버전/변형 제약만 존재한다.
24
25== 기타 ==
r17
26 * 00000000-0000-0000-0000-000000000000으로 구성된 Nil/Empty UUID 포맷이 존재한다. 역으로 2진수 기준 모든 비트가 1로 설정된 ffffffff-ffff-ffff-ffff-ffffffffffff로 구성된 Max UUID도 있으나, 후자는 RFC 4122의 대체판인 RFC 9562가 발표됨과 동시에 추가되었다. [[https://www.rfc-editor.org/rfc/rfc9562.html#name-max-uuid|RFC Editor의 RFC 9562 문서 (영문 주의)]]
r14
27 * UUIDv4의 17번째 인수는 8, 9, a, b만 존재할 수 있다. 다시 말해 17번째 인수의 2비트는 [[2진수]] 기준 10으로 고정되어 124비트가 아닌 122비트만 사용되는 것이다. 따라서 '44444444-4444-4444-4444-444444444444' 이런 형식의 UUIDv4는 존재할 수 없다. --설령 가능하다고 해도 [[4자 금기]] 때문에 쓰지 않을지도?--
r1
(삭제된 사용자)
28
29== [[the seed]]에서 ==
30[[the seed]]에서는 계정 변경/삭제 기능이 생긴 후 도입되었으며, 계정 사용자는 계정 생성 즉시, IP 사용자는 최초 활동 즉시 자동 할당된다. IP 사용자의 경우 사람 모양 클릭 시 기여 내역이 없다면 문서/토론 기여 목록 탭이 뜨지 않지만, UUID 할당 이후 해당 페이지로 연결되는 탭이 보인다.
31
32여담으로 아이피로 어떤 문서를 편집한 후 1시간 내에 이 기여를 로그인한 사용자로 이전한다 해도 해당 IP에 할당된 UUID는 그대로 유지된다.
33
r8
34문서를 편집할 때마다 생성되는 각 리비전에도 UUID가 부여되며, 각 리비전의 문서 링크도 기존 리비전 넘버에서 UUID로 바뀌었다. [[더시드위키]], [[알파위키]], [[위브위키]]에서는 기존 리비전 형식의 링크를 입력해도 최신 판의 문서만 열람 가능하나 [[나무위키]]에서는 넘겨주기 처리가 되도록 커스텀 패치가 된 것으로 추정된다. [[https://feedback.theseed.io/posts/1236|관련 the seed 포럼 글]]
35
r9
36== 여담 ==
37가끔씩 the seed 계열 위키들의 운영진들이 문서를 휴지통화할 때 UUID 4나 7을 표제어로 하여 처리할 때가 있다.
r10
38> ([redacted]에서 휴지통:0199866b-e0b3-7b24-a5c8-53ee9117a6da으로 문서 이동)
r11
39> ----
40> UUID 7 기반 휴지통화 예시
41----
42> (SK하이닉스에서 휴지통:bd1b1573-cf5f-4371-9987-8f7403058688으로 문서 이동)
43> ----
44> UUID 4 기반 휴지통화 예시
r9
45
r1
(삭제된 사용자)
46[각주]
47[include(틀:문서 가져옴/나무위키, title=UUID, version=37)]