Globally Unique Identifier

Uit Wikipedia, de vrije encyclopedie
Ga naar: navigatie, zoeken

Een Globally Unique Identifier of GUID (spreek uit: goe-ied) is een pseudowillekeurig getal dat gebruikt wordt in softwaretoepassingen, en dat verondersteld wordt wereldwijd uniek te zijn. Hoewel elke GUID niet 100% gegarandeerd uniek is, is het totaal aantal unieke sleutels (2128 of 3,4028×1038) zo groot dat de kans op de creatie van twee keer dezelfde GUID erg klein is.

GUID's worden in veel toepassingen gebruikt, zoals Oracle-databanken en Novell eDirectory, maar het meest worden ze gebruikt door Microsoft.

Basisstructuur[bewerken]

Een GUID is een getal van 16 bytes (128 bits), geschreven in hexadecimale vorm, zoals:

3F2504E0 4F89 11D3 9A 0C 03 05 E8 2C 33 01

GUID's worden dikwijls geschreven in de vorm van 4 bytes, dan 3 keer 2 bytes, en tenslotte nog eens 6 bytes, zoals:

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

Microsoft gebruikt GUID's in zijn Component Object Model om interfaces van softwarecomponenten te onderscheiden. Hierdoor kunnen twee verschillende versies van een component onderscheiden worden, zelfs als de naam identiek is.

Algoritme[bewerken]

Het algoritme dat Microsoft gebruikt voor het aanmaken van GUID's heeft al veel kritiek gekregen. Hierin werd vroeger het MAC-adres van de netwerkkaart van de gebruiker genomen als basis voor de laatste groep getallen in de GUID, waardoor documenten zouden kunnen verwijzen naar de computer waarop ze aangemaakt zijn. Deze zwakte werd gebruikt om de maker van de computerworm Melissa op te sporen.

GUID's die een MAC-adres bevatten kunnen herkend worden aan het cijfer "1" als eerste in de derde groep getallen, bijvoorbeeld {2f1e4fc0-81fd-11da-9156-00036a0f876a}. GUID's die gemaakt zijn met een later algoritme hebben daar het cijfer "4", zoals {38a52be4-9352-453e-af97-5c3b448652f0}.

Subtypes[bewerken]

Er zijn verschillende soorten GUID's gebruikt in COM:

  • IID - interface identifier;
  • CLSID - class identifier;
  • LIBID - type library identifier;
  • CATID - category identifier;

DCOM bracht nog meer GUID-subtypes:

  • AppID - application identifier;
  • MID - machine identifier;
  • IPID - interface pointer identifier;
  • CID - causality identifier;
  • OID - object identifier;
  • OXID - object exporter identifier;
  • SETID - ping set identifier;

Externe links[bewerken]