UUID / GUID가 왜 형식입니까?


14

GUID ( Globally Unique Identifier )는 보안상의 이유가 있다고 가정하는 특정 형식의 그룹화 된 문자열입니다.

GUID는 다음과 같이 다섯 그룹으로 구분 된 일련의 16 진수로 텍스트에 가장 일반적으로 기록됩니다.

3F2504E0-4F89-11D3-9A0C-0305E82C3301

GUID / UUID 문자열이 X 길이의 16 진수를 사용하여 인코딩 된 임의의 바이트가 아닌 이유는 무엇입니까?

이 텍스트 표기법에는 하이픈으로 구분 된 다음 필드가 포함되어 있습니다.

| Hex digits | Description
|-------------------------
| 8            | Data1
| 4            | Data2
| 4            | Data3
| 4            | Initial two bytes from Data4
| 12           | Remaining six bytes from Data4

UUID 표준 에는 여러 버전이 있습니다 .

버전 4 UUID는 일반적으로 내부적으로 128 비트의 원시 배열로 저장되며 일반적으로 다음과 같은 형식으로 표시됩니다.

uuid : xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx


4
아니요, 아마도 보안상의 이유로 비트 문자열은 대시가 있거나없는 엔트로피를 갖습니다. "여기에는 16 진 문자가 많이 있습니다. md5 .. 또는 아마도 sha1 .. 아니, 잠깐만 요 .."가 아니라 GUID를 한눈에 인식 할 수 있다고 생각합니다. 또한 GUID는 일반적으로 임의의 바이트가 아닙니다.



답변:



2

대시가있는 텍스트 표현은 Guid / UUID의 4 개 필드를 5 개의 그룹으로 분리하는 것입니다 (마지막 필드는 처음 2 바이트 이후에 분리됨). Guid Text Encoding

표현에는 계산 방법이 다르기 때문에 보안과는 아무런 관련이 없으며 반드시 안전한 식별자 일 필요는 없습니다.

필드가 분리 될 가능성이 가장 큰 이유는 (표준에 언급되지 않았더라도) 구성 요소 부품의 가독성 / 분리 때문입니다.


2
형식이 무엇인지, 이미 문제가 된 정보를 알려줍니다. OP가 요구 한 이유를 설명하지 않습니다 .
Keith Thompson

1
더 나은 가독성과 식별을 위해 필드로 분리하는 것입니다. 어쩌면 마지막 것이 길이 때문에 더 쪼개 졌을 수도 있습니다.
턴키

1
논리적. 같은 이유로 전화 번호, 신용 카드 번호 및 기타 많은 긴 번호가 인쇄되거나 기록 될 때 그룹으로 자주 나뉩니다.
jwenting
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.