전역 고유 식별자
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
전역 고유 식별자(GUID)는 128비트 숫자로, 소프트웨어 및 시스템에서 객체를 고유하게 식별하는 데 사용된다. 16진수로 표현되며, 일반적으로 하이픈으로 구분된 32자리의 문자열 또는 중괄호로 묶인 형태로 표기한다. 초기 GUID 생성 알고리즘은 MAC 주소를 기반으로 하여 개인 정보 및 보안 문제를 야기했으나, 이후 난수를 사용하여 이 문제를 해결했다. GUID는 마이크로소프트 COM, DCOM, 오피스 문서, ASF, RSS, Atom 등 다양한 분야에서 인터페이스, 클래스, 문서, 스트림 등을 식별하는 데 활용된다.
GUID는 16바이트, 즉 128비트 숫자이다. 16진수로 표현하면 다음과 같은 형태이다.
GUID는 16바이트, 즉 128비트 숫자이다. 특별히 규정된 텍스트 표현이 없기 때문에, GUID를 텍스트로 쓰는 방법은 구현에 따라 다를 수 있다.
초기 GUID 생성 알고리즘(V1 GUID)은 사용자 네트워크 카드의 MAC 주소를 기반으로 생성되어 개인 정보 및 보안 문제를 야기할 수 있다는 비판을 받았다. 이 헛점은 멜리사(웜) 개발자를 찾는 데 사용되기도 하였다.[1] MAC 주소를 사용하는 V1 GUID는 세 번째 숫자 그룹의 첫 번째 숫자에 "1"을 사용한다. (예: {2f1e4fc0-81fd-'''1'''1da-9156-00036a0f876a})[1] 이후 알고리즘은 MAC 주소 대신 임의의 숫자를 사용하여 개인 정보 및 보안 문제를 해결하였으며, 세 번째 숫자 그룹의 첫 번째 숫자에 "4"를 사용한다. (예: {38a52be4-9352-'''4'''53e-af97-5c3b448652f0})[1]
마이크로소프트 컴포넌트 오브젝트 모델(COM)에서는 GUID를 구성 요소의 인터페이스들을 구별하기 위해 사용한다. 즉 서로 호환되지 않을 수 있는 두 개의 컴포넌트가 동일한 인터페이스 이름을 사용하더라도, 각각의 인터페이스는 언제나 고유한 GUID를 갖기 때문에 구별할 수 있게 된다.
[1]
블로그
Generate GUID using guidgen.exe – Syed's Blog
https://blogs.msdn.m[...]
2. 기본 구조
: 3F 25 04 E0 4F 89 11 D3 9A 0C 03 05 E8 2C 33 01
GUID를 텍스트로 표현하는 방법은 구현에 따라 다를 수 있지만, 일반적으로는 GUID를 순서대로 4바이트, 2바이트, 2바이트, 8바이트로 나눈 뒤 하이픈으로 구분하여 16진수로 작성하고 중괄호로 묶는 방식을 사용한다.
: {3F2504E0-4F89-11D3-9A0C0305E82C3301}
자료 구조로 사용할 때는 다음과 같은 형태가 일반적이다.
3. 텍스트 표기
GUID의 표기에는 일반적으로 다음과 같은 16진 표기가 사용된다.
:3F2504E0-4F89-11D3-9A0C-0305E82C3301
이 텍스트 표기는 다음과 같은 32자리 구조를 가진다.
# Data1:3F2504E0(8자리)
# 하이픈
# Data2:4F89(4자리)
# 하이픈
# Data3:11D3(4자리)
# 하이픈
# Data4의 처음 2 항목:9A 0C(4자리)
# 하이픈
# Data4의 나머지 6 항목:03 05 E8 2C 33 01(12자리)
GUID를 순서대로 4바이트, 2바이트, 2바이트, 8바이트로 나눈 뒤 하이픈으로 구분하여 16진수로 작성하고 중괄호(브레이스)로 묶어서 표기하는 경우도 많다.
:{3F2504E0-4F89-11D3-9A0C-0305E82C3301}
4. 알고리즘
5. GUID의 사용
COM에서 사용하는 GUID는 다음과 같다.
DCOM은 다음과 같은 GUID를 추가로 더 사용한다.
위의 GUID들은 쓰이는 형태가 서로 다르다면, 값이 중복되어도 문제가 되지 않는다. 예를 들어, 한 클래스의 CLSID와 다른 클래스의 IID가 서로 같더라도 두 클래스는 문제 없이 존재할 수 있다. 그러나 같은 CLSID를 가지는 두 개의 서로 다른 클래스가 존재하는 것은 불가능하다.
GUID는 또한 마이크로소프트 오피스 프로그램에서 작성한 문서에도 삽입된다. 능동 스트리밍 포맷(Advanced Streaming Format, ASF)에서는 각각의 오디오 및 비디오 스트림들에 GUID를 할당하여 식별한다.
RSS의 일부 버전과 Atom에는 글 또는 웹로그 포스트를 유일하게 구별할 수 있도록 각각 guid 태그와 id 태그를 가지고 있지만, 이들의 쓰임은 조금 다르다. RSS의 guid 태그에는 어떠한 문자열도 사용할 수 있으며, 실제로는 일반적으로 포스트된 URL을 사용한다. Atom의 id 태그에는 반드시 유효한 URI를 사용해야 한다.참조
[2]
문서
CoCreateGuid function (combaseapi.h) | Microsoft Docs
https://docs.microso[...]
[3]
문서
UuidCreate function (rpcdce.h) | Microsoft Docs
https://docs.microso[...]
[4]
문서
Guid.NewGuid Method (System) | Microsoft Docs
https://docs.microso[...]
[5]
문서
GUID | Microsoft Docs
https://docs.microso[...]
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com