Décodeur & Validateur UUID | Analyse des versions (v1, v4, v7) et du temps

Insérez votre UUID dans le champ ci-dessus et cet outil (analyseur UUID) effectuera une vérification en ligne immédiate, déterminera la version, la validité et extraira les informations cachées.

Qu’est-ce qu’un décodeur UUID?

Un décodeur UUID est un outil qui analyse un UUID (Universally Unique Identifier) et en extrait toutes les informations disponibles. Un UUID n’est pas seulement une chaîne de caractères aléatoire – selon sa version, il peut contenir un horodatage, des informations système ou le hachage de données déterministes.

Quelles informations pouvez-vous obtenir d’un UUID?

Informations de base sur l’UUID

Version UUID:

  • Détermine le type et la structure de l’UUID (v1, v3, v4, v5, v6, v7)
  • Extrait du 13e caractère hexadécimal

Variante:

  • RFC 4122 - Variante UUID standard
  • NCS - Network Computing System (obsolète)
  • Microsoft - Variante GUID Microsoft
  • Reserved - Réservé pour une utilisation future

UUID v1 - Horodatage + adresse MAC

Ce que vous pouvez obtenir:

  • Heure de création exacte - date et heure avec une précision de 100 nanosecondes
  • Séquence d’horloge - numéro de séquence pour prévenir les collisions
  • ID de nœud - initialement une adresse MAC, souvent des valeurs aléatoires

Exemple:

UUID: 6ba7b810-9dad-11d1-80b4-00c04fd430c8

Version: v1 (Horodatage + MAC)
Variante: RFC 4122
Date et heure: 15.10.1997 04:25:33.000
Séquence d'horloge: 724
ID de nœud: 00:C0:4F:D4:30:C8

Utilisation:

  • Déterminer quand un enregistrement a été créé
  • Audit et analyse forensique
  • Débogage de problèmes dépendants du temps

UUID v3/v5 - Basé sur le hachage

Ce que vous pouvez obtenir:

  • Type de hachage - MD5 (v3) ou SHA-1 (v5)
  • Non récupérable - espace de noms et nom d’origine (hachage unidirectionnel)

Exemple:

UUID: 886313e1-3b8a-5372-9b90-0c9aee199e5d

Version: v5 (hachage SHA-1)
Variante: RFC 4122
Type: UUID basé sur le hachage (déterministe)
Note: L'espace de noms et le nom d'origine ne peuvent pas être récupérés à partir de l'UUID.

Utilisation:

  • Vérifier qu’un UUID est déterministe
  • Identifier le type d’UUID dans une base de données
  • Vérifier la cohérence des identifiants basés sur le hachage

UUID v4 - Aléatoire

Ce que vous pouvez obtenir:

  • Version - confirmation qu’il est aléatoire
  • Variante - standard RFC 4122
  • Aucune donnée supplémentaire - bits purement aléatoires

Exemple:

UUID: f47ac10b-58cc-4372-a567-0e02b2c3d479

Version: v4 (Aléatoire)
Variante: RFC 4122
Type: UUID généré aléatoirement

Utilisation:

  • Vérifier qu’un UUID est aléatoire (non déterministe)
  • Vérifier le bon format d’un UUID
  • Valider un UUID avant de l’enregistrer dans une base de données

UUID v6 - Horodatage ordonné

Ce que vous pouvez obtenir:

  • Heure de création exacte - réorganisée pour de meilleures performances de base de données
  • Séquence d’horloge - numéro de séquence
  • ID de nœud - identifiant du nœud

Exemple:

UUID: 1ec9414c-232a-6b00-b3c8-9e6bdeced846

Version: v6 (Horodatage ordonné)
Variante: RFC 4122
Date et heure: 30.01.2026 14:23:45.123
Séquence d'horloge: 3272
ID de nœud: 9E:6B:DE:CE:D8:46

Utilisation:

  • Déterminer l’heure de création d’un enregistrement
  • Analyser l’ordre chronologique dans la base de données
  • Débogage de systèmes distribués

UUID v7 - Horodatage Unix

Ce que vous pouvez obtenir:

  • Horodatage Unix - millisecondes depuis le 01.01.1970
  • Date et heure - format d’horodatage Unix standard
  • Partie aléatoire - ne peut pas être décodée

Exemple:

UUID: 017f22e2-79b0-7cc3-98c4-dc0c0c07398f

Version: v7 (Horodatage Unix)
Variante: RFC 4122
Date et heure: 30.01.2026 14:23:45.123

Utilisation:

  • Obtenir l’heure de création des UUID modernes
  • Analyse de l’ordonnancement temporel
  • Migration de données avec des horodatages

Structure d’un UUID

Un UUID a le format : xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx

6ba7b810-9dad-11d1-80b4-00c04fd430c8
│      │ │  │ │  │ │  │ │           │
│      │ │  │ │  │ │  │ └───────────┴─ Nœud (48 bits)
│      │ │  │ │  │ └──┴─────────────── Séquence d'horloge (14 bits)
│      │ │  │ └──┴────────────────────── Variante (2-3 bits)
│      │ └──┴───────────────────────────── Version (4 bits) + Time High
│      └──────────────────────────────────── Time Mid (16 bits)
└─────────────────────────────────────────── Time Low (32 bits)

Extraction des versions et variantes

Version (M):

  • Position: 13ème caractère hexadécimal
  • Valeurs: 1-7 (différentes versions d’UUID)

Variante (N):

  • Position: 17ème caractère hexadécimal
  • 0-7: NCS (Réservé)
  • 8-B: RFC 4122 (standard)
  • C-D: Microsoft
  • E-F: Futur (Réservé)

Exemples pratiques

Débogage - Déterminer l’heure de création d’un enregistrement

Scénario: Un utilisateur signale que ses données ont disparu. Vous devez déterminer quand l’enregistrement a été créé.

UUID: 6ba7b810-9dad-11d1-80b4-00c04fd430c8
Décodé: 15.10.1997 04:25:33.000

→ L'enregistrement a été créé en 1997

Analyse forensique - Vérification de la séquence temporelle

Scénario: Vérifier si les événements se sont produits dans le bon ordre.

UUID 1: 1ec9414c-232a-6b00-b3c8-9e6bdeced846 → 30.01.2026 14:23:45
UUID 2: 1ec9414d-557b-6a00-8f32-1234567890ab → 30.01.2026 14:25:12

→ L'UUID 2 a été créé plus tard (ordre correct)

Identification du type d’UUID dans une base de données

Scénario: Vous avez des UUID mixtes dans votre base de données et vous devez savoir lesquels sont aléatoires et lesquels ont un horodatage.

f47ac10b-58cc-4372-a567-0e02b2c3d479 → v4 (aléatoire, sans horodatage)
6ba7b810-9dad-11d1-80b4-00c04fd430c8 → v1 (avec horodatage)
017f22e2-79b0-7cc3-98c4-dc0c0c07398f → v7 (avec horodatage)

→ Seuls les UUID v1 et v7 contiennent des informations temporelles

Limites et ce qui ne peut pas être obtenu

❌ UUID v3/v5 - Impossible de décoder le hachage

Impossible:

  • Récupérer l’espace de noms d’origine
  • Récupérer le nom/la valeur d’origine
  • Déterminer quelles données ont été hachées

Raison: MD5 et SHA-1 sont des fonctions de hachage unidirectionnelles.

❌ UUID v4 - Aucune donnée cachée

Impossible:

  • Obtenir des métadonnées
  • Déterminer l’heure de création
  • Identifier la source

Raison: L’UUID v4 est purement aléatoire et ne contient aucune information structurée.

⚠️ UUID v1/v6 - L’ID de nœud peut être aléatoire

Limitation:

  • Dans les implémentations modernes, l’ID de nœud est souvent aléatoire (pas une véritable adresse MAC)
  • Pour des raisons de confidentialité, les adresses MAC sont souvent remplacées par des valeurs aléatoires
  • Il n’est pas possible d’identifier de manière fiable une machine spécifique

Validation d’UUID

Le décodeur fonctionne également comme un validateur UUID.

Vérification de la validité d’un UUID

Le décodeur valide automatiquement:

  • ✅ Format correct (8-4-4-4-12 caractères hexadécimaux)
  • ✅ Caractères hexadécimaux valides (0-9, a-f)
  • ✅ Longueur correcte (36 caractères avec les tirets, 32 sans)

Reconnaissance des UUID invalides

Exemples invalides:

❌ 6ba7b810-9dad-11d1-80b4          (trop court)
❌ 6ba7b810-9dad-11d1-80b4-GHIJKLMN (caractères invalides)
❌ 6ba7b81-09dad-11d1-80b4-00c04fd4 (mauvais format)

Pour les développeurs

Implémentation en JavaScript

// Extraction de la version d'un UUID
function getUUIDVersion(uuid) {
    const cleaned = uuid.replace(/-/g, '');
    return parseInt(cleaned[12], 16);
}

// Extraction de l'horodatage d'un UUID v7
function extractV7Timestamp(uuid) {
    const cleaned = uuid.replace(/-/g, '');
    const timeHi = parseInt(cleaned.substring(0, 8), 16);
    const timeLow = parseInt(cleaned.substring(8, 12), 16);
    const unixMs = Number(BigInt("0x" + cleaned.substring(0, 12)) >> 16n);
    return new Date(unixMs);
}

// Exemple
const uuid = '017f22e2-79b0-7cc3-98c4-dc0c0c07398f';
console.log(getUUIDVersion(uuid)); // 7
console.log(extractV7Timestamp(uuid)); // Objet Date

Validation d’UUID via Regex

const uuidRegex = /^[0-9a-f]{8}-[0-9a-f]{4}-[1-7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;

function isValidUUID(uuid) {
    return uuidRegex.test(uuid);
}

Questions fréquentes (FAQ)

Puis-je obtenir l'heure de création à partir d'un UUID v4? Non, l'UUID v4 est purement aléatoire et ne contient aucune information temporelle. Pour les UUID avec horodatage, utilisez v1, v6 ou v7.
Pourquoi l'ID de nœud dans l'UUID v1 est-il aléatoire au lieu d'une adresse MAC? Les implémentations modernes utilisent un ID de nœud aléatoire pour la protection de la vie privée. Révéler la véritable adresse MAC pourrait être un risque de sécurité.
Puis-je récupérer l'URL ou le nom d'origine à partir d'un UUID v5? Non, l'UUID v5 utilise un hachage SHA-1, qui est unidirectionnel. Il n'est pas possible de récupérer les données d'origine à partir du hachage.
Comment savoir si un UUID est aléatoire (v4)? Le décodeur affichera la version de l'UUID. Si la version est 4, il s'agit d'un UUID généré aléatoirement sans métadonnées supplémentaires.
L'horodatage dans l'UUID v1 est-il précis? Oui, l'UUID v1 a une précision théorique de 100 nanosecondes (à partir du 15 octobre 1582). En pratique, cela dépend de la précision de l'horloge système.
Puis-je utiliser le décodeur pour valider un UUID? Oui, le décodeur valide automatiquement le format de l'UUID et affichera une erreur si l'UUID est invalide.

Sécurité et confidentialité

Que révèle un UUID?

UUID v1/v6:

  • ⚠️ Heure de création - peut révéler le timing des opérations
  • ⚠️ Potentiellement l’adresse MAC - risque d’identification de l’appareil (aléatoire dans les implémentations modernes)

UUID v4:

  • Sûr - ne contient aucune métadonnée

UUID v7:

  • ⚠️ Horodatage Unix - révèle l’heure de création

Recommandations

  • ✅ Utilisez l’UUID v4 pour une confidentialité maximale
  • ⚠️ Soyez prudent avec les UUID v1/v6/v7 dans les API publiques (ils révèlent des informations temporelles)
  • ✅ L’UUID v5 est déterministe, mais ne révèle pas les données d’origine
  • ⚠️ Le hachage MD5 n’est pas entièrement sécurisé

Faits intéressants

  • Plus ancien UUID v1 possible: 15 octobre 1582 00:00:00 (début du calendrier grégorien)
  • Plus récent UUID v7 possible: 10889-08-02 05:31:50.655 (limite d’horodatage Unix en ms)
  • Précision de l’UUID v1: 100 nanosecondes (théoriquement 10 millions d’UUID par seconde)
  • UUID Nil: 00000000-0000-0000-0000-000000000000 (UUID “vide” spécial)
  • UUID Max: ffffffff-ffff-ffff-ffff-ffffffffffff (valeur maximale)

Utilisation dans différents systèmes

PostgreSQL

-- Extraction de la version de l'UUID
SELECT substring(id::text, 15, 1) as version
FROM users;

-- Filtrage par version
SELECT *
FROM users
WHERE substring(id::text, 15, 1) = '4';

MySQL

-- Vérification du format de l'UUID
SELECT id
FROM users
WHERE id REGEXP '^[0-9a-f]{8}-[0-9a-f]{4}-[1-7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$';