GUID (Globally Unique Identifier) is a statistically unique 128- bit identifier . Its main feature is the uniqueness , which allows you to create extensible services and applications without the fear of conflicts caused by the coincidence of identifiers. Although the uniqueness of each individual GUID is not guaranteed, the total number of unique keys is so high ( 2,128 or 3.4028 × 10 38 ) that the probability that two matching keys are independently generated in the world is extremely small.
“GUID” refers to some implementations of the standard called the Universally Unique Identifier ( UUID ).
In the text, the GUID is written as a string of thirty-two hexadecimal digits, divided into groups by dashes and optionally surrounded by curly braces:
- {6F9619FF-8B86-D011-B42D-00CF4FC964FF} [1]
Content
Microsoft implementation
ID structure:
GUID STRUCT
Data1 dd
Data2 dw
Data3 dw
Data4 dw
Data5 dq
GUID ENDS
UUID identifiers are often written as the text string {G4G3G2G1-G6G5-G8G7-G9G10-G11G12G13G14G15G16}, where Gx is the value of the corresponding structure byte in hexadecimal representation [1] :
Data1 = G4G3G2G1 Data2 = G6G5 Data3 = G8G7 Data4 = G9G10G11G12G13G14G15G16
For example, '22345200-abe8-4f60-90c8-0d43c5f6c0f6' corresponds to a 128-bit hexadecimal number 0xF6C0F6C5430DC8904F60ABE822345200
The maximum value in the GUID corresponds to a decimal number of 340 282 366 920 938 463 463 374 607 431 768 211 455.
Microsoft uses GUIDs in OLE , COM, and DCOM — for example, as identifiers for classes ( CLSID ), interfaces ( IID ), type libraries ( LIBID ). Using a GUID ensures that two (possibly incompatible) versions of the same component may have the same name, but be distinguishable by GUID.
The algorithm that Microsoft used to generate the GUID was widely criticized. In particular, the MAC address of the network adapter was used as the basis for generating part of the GUID digits, which meant, for example, that using this MS Word document (which also received its unique GUID when creating it), it was possible to determine the computer on which it was created. Later, Microsoft changed the algorithm so that it did not include the MAC address.
Other implementations
Also, GUIDs are the basis of the GUID Partition Tables , replacing the MBR in EFI .
Notes
- ↑ 1 2 The last 8-byte data when recording is often divided into 2 + 6 (for more details, see the English version of the article).