Comment les UUID stockent-ils les horodatages ?

Plusieurs versions d'UUID intègrent un horodatage directement dans leur structure. UUID v1, introduit dans la RFC 4122, encode un horodatage grégorien sur 60 bits représentant des intervalles de 100 nanosecondes depuis le 15 octobre 1582. UUID v6 réorganise les mêmes champs d'horodatage pour une meilleure triabilité, et UUID v7, défini dans la RFC 9562, stocke un horodatage Unix epoch sur 48 bits en millisecondes. Ces horodatages intégrés permettent de retrouver le moment exact où un UUID a été généré — utile pour le débogage, l'audit et l'analyse forensique.

Tous les UUID ne contiennent pas d'informations temporelles. Les versions 3, 4 et 5 sont dérivées de données aléatoires ou de hachages d'espace de noms, et ne contiennent donc aucun horodatage récupérable. La version 2 (DCE Security) inclut un horodatage, mais est rarement utilisée en pratique.

Description de l'outil

Cet outil extrait et décode l'horodatage intégré dans les UUID basés sur le temps. Collez n'importe quel UUID et visualisez instantanément la date et l'heure encodées dans plusieurs formats : ISO 8601, UTC, heure locale, et horodatages Unix en secondes et en millisecondes. L'outil détecte automatiquement la version de l'UUID et applique l'algorithme de décodage approprié.

Exemples

Entrée UUID v1 :

6ba7b810-9dad-11d1-80b4-00c04fd430c8 → 7 avril 1998

Entrée UUID v7 :

018f3e88-5c00-7b3a-8512-2d4a3f8e9c01 → 3 mai 2024

Entrée UUID v4 (sans horodatage) :

550e8400-e29b-41d4-a716-446655440000 → « Cette version d'UUID ne contient pas d'horodatage »

Fonctionnalités

  • Prend en charge UUID v1 (horodatage grégorien), v6 (grégorien réordonné) et v7 (Unix epoch en millisecondes)
  • Affiche les résultats aux formats ISO 8601, UTC, heure locale et horodatage Unix
  • Détecte automatiquement la version de l'UUID et sélectionne la méthode de décodage appropriée
  • Valide le format de l'UUID avant toute tentative d'extraction
  • Affiche un message clair pour les versions d'UUID ne contenant pas d'horodatage

Fonctionnement

Chaque version d'UUID basée sur le temps stocke son horodatage différemment :

  • UUID v1 répartit un horodatage grégorien sur 60 bits entre trois champs : time_low (bits 0–31), time_mid (bits 32–47) et time_hi (bits 48–59). L'horodatage compte des intervalles de 100 nanosecondes depuis le 15 octobre 1582.
  • UUID v6 réordonne les champs d'horodatage de v1 de sorte que les bits les plus significatifs apparaissent en premier, rendant les UUID naturellement triables par ordre de création tout en utilisant la même époque grégorienne.
  • UUID v7 adopte une approche plus simple : les 48 premiers bits contiennent un horodatage Unix standard en millisecondes, ce qui rend l'extraction directe et compatible avec les systèmes modernes.

Cas d'utilisation

  • Débogage de systèmes distribués — déterminer précisément quand un enregistrement ou un événement a été créé en décodant l'UUID qui lui est assigné
  • Audit et forensique — vérifier les horodatages de création dans les bases de données utilisant des UUID basés sur le temps comme clés primaires
  • Planification de migration — analyser les horodatages des UUID pour comprendre la distribution et l'ancienneté des données avant de migrer entre systèmes