2014-06-23 1 views
0

이유는 모르겠지만 최근에 GUID에 관심이있었습니다. 그들 중 몇 개를 살펴본 후에 나는 그들을 생성하는 함수를 작성했으나 http://guid.us/Test/GUID으로 검증했다. 내 발전기의 일부 GUID :GUID 정보

914HK4XO-GF46-EDNY-07AW-FDB0ZHI8ZLP8 
OHF7XXMG-E1YK-9EOL-G94E-WC9MCSFI0CXE 
0X1X295G-Q394-DX8N-5C39-5I858I7WFRHH 

아래의 유효한 GUID는 무엇이 다른가요?

C5D850D4-4273-4170-A3C5-61B84F88105E 
AAF77D1B-D1CF-4562-B624-204DC876CA17 
18C50D98-D3F7-4C3A-9E67-CFAFB3D53F38 

나는 눈이 멀다고 전화하지만 나는이 두 가지 사이의 차이점을 보지 못했다.

+0

방금 ​​임의의 자릿수를 함께 치셨습니까? GUID는 전적으로 무작위가 아닙니다 (거의 대부분). 사양을 읽어야합니다. http://www.ietf.org/rfc/rfc4122.txt –

+0

@ RyanV.Bissell 그게 내가 원하는거야. 나는 그런 것을 찾지 못했지만이 정규식을 통과해야한다는 것을 배웠습니다./^ [0-9a-f] {8} - [0-9a-f] {4} - [1-5] [0- [0-9a-f] {0-9a-f] {12} $/i' – Spedwards

+1

생성 된 GUID 값 16 진수가 아닌가? – Joe

답변

0

글쎄, 가능한 원인은 GUID가 32 바이트의 임의의 고유 데이터가 아니라는 것입니다. 또한 몇 가지 지침을 준수해야합니다. 가장 가까운 것은 내가 신용 카드 번호라고 생각합니다. 그들은 모두 고유하지만, 동시에 모든 고유 번호가 유효한 신용 카드 번호가 될 수있는 것은 아닙니다. 그것의 타당성을 검사하는 알고리즘이 있습니다. 그건 그렇고, 나는 신용 카드 번호에 관해서이 일에 대해서만 "들었다", 그래서 나는 그것이 그들이 일하는 방식이라고 확신하지 못한다.

1

GUID의 13 번째 요소는 GUID 버전입니다. 유효한 GUID는 모두 "4"(즉, 버전 4)입니다. 사용하는 언어에 관계없이 GUID 라이브러리가 적합합니다. 다양한 형식에 대한 자세한 설명은 http://en.wikipedia.org/wiki/Globally_unique_identifier을 참조하십시오.

+1

자바 스크립트를 사용하고 있으며 라이브러리를 사용하기 전에 직접 작성하려고합니다. – Spedwards

+0

알기. 방금 편집 한 내용에서 참조한 사이트가 올바른 방향으로 전환 될 수 있습니다. – MichaelMilom

0

UUID (별칭 GUID)는 "가변적"으로 구조적으로 정의됩니다. 예를 들어, RFC 4122는 다섯 가지 버전의 특정 UUID 변형을 개괄적으로 설명합니다.

이 변형 및 버전을 정의하는 중요한 비트를 더 잘 이해하기 위해 RFC 4122를 연구하는 것이 도움이 될 수 있습니다. 이 비트를 관찰하고 UUID를 "리버스 엔지니어링하여 UID 특성, 버전 등을 표시 할 수 있습니다.

"Mahonri Moriancumer's UUID and GUID Generator and Forensics"을 사용하여 UUID를 조사 할 수 있습니다.이 사이트는 UUID 형식, 버전, 버전 등을 더 잘 이해하는 데 도움이 될 수 있습니다.