Markdown

GUID

GUID is the Acronym for Globally Unique Identifier

A 128-bit number used to identify information in computer systems. It is designed to be statistically unique, meaning that while it is generated without a central registration authority, the probability of the same GUID being generated twice is virtually zero.

Format and Structure

A GUID is typically represented as a string of 32 hexadecimal digits, displayed in five groups separated by hyphens (8-4-4-4-12 format), for a total of 36 characters. Example: 6B29FC40-CA47-1067-B31D-00DD010662DA.

  • Total bits: 128 bits.
  • Total combinations: 2 to the power of 128 is approximately 340 undecillion.

GUID vs. UUID

The terms are often used interchangeably, but there is a technical distinction:

  • UUID (Universally Unique Identifier): The broad standard defined by the IETF (RFC 4122) and ISO/IEC.
  • GUID: Microsoft’s specific implementation of the UUID standard.

In modern computing, they are functionally identical.

Key Terminology

  • GPT (GUID Partition Table): The modern disk partitioning standard that uses GUIDs to identify every partition on a drive, replacing the old MBR (Master Boot Record) system.
  • CLSID (Class ID): A GUID used in Windows to identify software components (COM objects) within the Registry.
  • Variant/Version Bits: Specific bits within the GUID string that indicate how the identifier was generated (e.g., based on time, MAC address, or random numbers).
  • Collision: The theoretical event where two different entities are assigned the same GUID. Due to the bit length, this is considered statistically impossible in practical applications.

Common Use Cases

  • Database Primary Keys: Using a GUID as a primary key allows records to be created across different servers and merged later without ID conflicts.
  • Storage Devices: UEFI systems use GUIDs to identify hard drives, solid-state drives, and individual partitions (the ESP is identified by a specific GUID).
  • Software Development: Uniquely identifying interfaces, classes, and library versions to prevent DLL Hell (version conflicts).
  • Windows Registry: Identifying hardware drivers, file associations, and system services.

Generation Versions

  • Version 1: Combines the computer’s MAC address and the current timestamp.
  • Version 4: Generated using high-quality pseudo-random numbers (most common today).
  • Version 5: Generated by hashing a “name” (like a URL) using SHA-1, ensuring the same input always produces the same GUID.

Technical Note: Because Version 1 GUIDs include a hardware MAC address and a timestamp, they can theoretically be used to trace a GUID back to the specific computer and time it was created, raising potential privacy concerns. Version 4 (random) is preferred for most applications today.