Globally unique identifier

Uit Wikipedia, de vrije encyclopedie
(Doorverwezen vanaf Globally Unique Identifier)

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.

Basisstructuur[bewerken | brontekst bewerken]

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

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

GUID's worden vaak geschreven in de vorm van acht (hexadecimale) cijfers, dan drie keer vier cijfers, en ten slotte nog eens twaalf cijfers, 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 | brontekst 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 het macrovirus 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 | brontekst 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 | brontekst bewerken]