Générateur d'UUID de version 1

UUID généré

Les UUID (Universally Unique Identifier) sont des identificateurs uniques très utilisés en informatique pour identifier des entités de façon unique. Ils sont généralement générés de manière aléatoire, mais il existe différentes versions d'UUID qui ont des méthodes de génération spécifiques. Dans cet article, nous allons nous concentrer sur la version 1 d'UUID et comment elle est générée. Nous allons également examiner des exemples d'UUID de version 1 et décomposer leur structure pour comprendre comment ils sont construits.

Comprendre la version 1 de UUID

Les UUID (Universally Unique Identifier) sont des identificateurs uniques utilisés en informatique pour identifier de manière univoque des entités, telles que des utilisateurs, des fichiers, des transactions, etc. Les UUID sont généralement générés de manière aléatoire, mais il existe plusieurs versions d'UUID avec des méthodes de génération différentes. Dans cet article, nous allons nous concentrer sur la version 1 de UUID.

Comment est généré un UUID de version 1 ?

La version 1 de UUID est générée en utilisant l'horloge de l'ordinateur et l'adresse MAC de l'interface réseau. L'horloge de l'ordinateur est utilisée pour obtenir un horodatage précis, tandis que l'adresse MAC de l'interface réseau est utilisée pour garantir l'unicité de l'UUID. Le processus de génération d'un UUID de version 1 peut être résumé en trois étapes :

  • Obtenir l'horodatage actuel en utilisant l'horloge de l'ordinateur.
  • Convertir l'horodatage en nombre de 100 nanosecondes depuis le 15 octobre 1582, date à laquelle le calendrier grégorien a été adopté.
  • Combiner l'horodatage, l'adresse MAC de l'interface réseau et un identifiant de séquence pour générer un UUID unique.

Exemples d'UUID de version 1

Voici un exemple d'UUID de version 1 généré à partir de l'horodatage 2023-02-24 13:35:42 et de l'adresse MAC 00-0A-95-9D-68-16 : 7b19ef41-4e3d-11ec-8000-00-0A-95-9D-68-16

Le premier champ (7b19ef41-4e3d-11ec) est l'horodatage converti en nombre de 100 nanosecondes. Le deuxième champ (8000) est un champ de réserved'extension qui peut être utilisé pour stocker des informations supplémentaires. Le troisième champ (00-0A-95-9D-68-16) est l'adresse MAC de l'interface réseau.