Qu'est-ce qu'un GUID ?
Un GUID (globally unique identifier) est exactement ce que les RFC 4122 et 9562 appellent un UUID : 128 bits écrits selon le motif 8-4-4-4-12. Microsoft a forgé le terme avant que la spécification ne se généralise.
La seule différence tient à l'apparence de la chaîne. .NET écrit traditionnellement les GUID en majuscules et les encadre d'accolades, par exemple {4C6E0549-7D63-4A0C-9E1F-4D63B7A2B4F1}, alors que l'écriture RFC est en minuscules et sans accolades.
Mode d'emploi
- Laissez les réglages par défaut : majuscules et accolades sont déjà actifs.
- Choisissez le nombre de GUID.
- Cliquez sur Générer et collez la valeur directement dans votre code ou un script SQL.
Cas d'usage
- Remplacer
Guid.NewGuid()lors de l'écriture de tests .NET. - Alimenter des colonnes
uniqueidentifiersous SQL Server. - Clés de registre et fichiers de configuration Windows.
Les versions d'UUID en un coup d'œil
| Version | Triable | Basé sur | À utiliser pour |
|---|---|---|---|
| v1 | Non | Horodatage + adresse MAC | Systèmes anciens qui attendent encore du v1 |
| v3 | Non | Hachage MD5 d'un nom | Identifiants déterministes quand MD5 est imposé |
| v4 | Non | 122 bits aléatoires | Presque tous les identifiants d'usage courant |
| v5 | Non | Hachage SHA-1 d'un nom | Quand un même nom doit toujours donner le même identifiant |
| v6 | Oui | Horodatage, réordonné | Des identifiants triables sans renoncer à l'aléatoire |
| v7 | Oui | Temps Unix en millisecondes | Clés primaires de base de données et identifiants d'événements |
| v8 | Non | Votre propre disposition de bits | Formats propres à un éditeur ou expérimentaux |
Les sept versions font 128 bits et s'écrivent toutes dans la forme 8-4-4-4-12. Seule la signification des bits change.
Questions fréquentes
Un GUID est-il la même chose qu'un UUID ?
Seule l'écriture les distingue. Les deux font 128 bits et partagent la même structure avec version et variante. .NET sait passer d'une forme à l'autre, et un validateur les accepte indifféremment.
Quelle version ce générateur produit-il ?
Celle de Guid.NewGuid(), donc du v4 : 122 bits aléatoires. Si vous avez besoin d'autres versions, passez par les pages v1, v3, v5, v6, v7 ou v8 et changez-y la forme.
Pourquoi .NET écrit-il les GUID en majuscules ?
Pour des raisons historiques et parce que la sortie reste ainsi lisible de façon homogène dans les journaux. La casse n'a aucune importance pour SQL Server, qui stocke les GUID sur 16 octets.