Table des matières

GUID

Globally Unique IDentifier

Un GUID (abréviation de l'anglais Globally Unique IDentifier) sert habituellement d'identifiant unique pour un composant logiciel, par exemple un plugin. Sa taille est de 16 octets, soit 128 bits, décomposés en:

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

Ce terme est utilisé à la fois dans le monde Microsoft et dans le monde Unix (voir RFC 4122). Microsoft utilise le terme de CLSID (de l'anglais CLasS IDentifier) pour désigner le GUID de la classe d'un objet OLE, et le terme IID (de l'anglais Interface IDentifier) pour les interfaces implémentées par ces classes.

Sous Unix, on utilise le UUID.

Quatre versions ont été spécifiées par Microsoft :

Sur les 128 bits (dont 4 bits pour la version et 2 pour la variante), seuls 122 sont réellement aléatoires, ce qui fait quand même environ 5 × 1036 combinaisons possibles.

/**
 * rfc4122 version 4 compliant
 * rfc4122 section 4.4 : Algorithms for Creating a UUID from Truly Random or Pseudo-Random Number
 *   
 * http://stackoverflow.com/questions/105034/how-to-create-a-guid-uuid-in-javascript
 */
function uuid()
{
  return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {
    var r = Math.random()*16|0, v = c == 'x' ? r : (r&0x3|0x8);
    return v.toString(16);
  }).toUpperCase();
}

on-line: http://cyrille.giquello.fr/labs/uuid.html