Cos'è una versione UUID?

Un UUID (Universally Unique Identifier) è un identificatore a 128 bit standardizzato da RFC 4122 e RFC 9562. Ogni UUID contiene un campo versione che indica come è stato generato. La versione è codificata nella 13ª cifra esadecimale (il nibble alto del 7° byte) e determina l'algoritmo e le fonti di dati utilizzati per creare l'identificatore.

Attualmente esistono otto versioni definite (dalla v1 alla v8), più due forme speciali: il Nil UUID (tutti zeri) e il Max UUID (tutti uno). Ogni versione ha uno scopo diverso: alcune incorporano timestamp per l'ordinamento cronologico, alcune utilizzano hash crittografici per la generazione deterministica, altre si basano su numeri casuali per semplicità. Conoscere la versione aiuta a comprendere le proprietà, le implicazioni di sicurezza e il caso d'uso previsto di un UUID.

Il campo variant, codificato separatamente, identifica a quale specifica UUID l'identificatore è conforme. La maggior parte degli UUID moderni utilizza il variant RFC 4122/RFC 9562, ma i sistemi più vecchi possono produrre variant NCS o Microsoft.

Descrizione dello strumento

Questo strumento accetta qualsiasi UUID come input e ne identifica il numero di versione, il nome della versione, il variant, il metodo di generazione e una descrizione dettagliata del funzionamento di quella versione. Supporta tutte le versioni standard (dalla v1 alla v8), nonché i Nil e Max UUID. Incolla semplicemente un UUID e visualizza immediatamente la sua analisi completa.

Esempi

UUID di input Versione Nome
550e8400-e29b-41d4-a716-446655440000 4 Casuale (v4)
6ba7b810-9dad-11d1-80b4-00c04fd430c8 1 Basato sul tempo (v1)
018f3e88-5c00-7b3a-8512-2d4a3f8e9c01 7 Basato su Unix Epoch Time (v7)
00000000-0000-0000-0000-000000000000 Nil Nil UUID
ffffffff-ffff-ffff-ffff-ffffffffffff Max Max UUID

Funzionalità

  • Rileva tutte le versioni UUID dalla v1 alla v8, oltre ai Nil e Max UUID
  • Identifica il variant (RFC 4122/9562, NCS, Microsoft o Riservato)
  • Mostra una descrizione leggibile che spiega come viene generata la versione
  • Visualizza il metodo di generazione utilizzato per produrre l'UUID
  • Identificazione in tempo reale istantanea mentre si digita o incolla

Casi d'uso

  • Debug di sistemi distribuiti: Determina se gli UUID nei tuoi log sono basati sul tempo (v1/v6/v7) o casuali (v4) per capire se contengono timestamp incorporati che puoi estrarre.
  • Ottimizzazione del database: Identifica se le tue chiavi primarie utilizzano una versione UUID ordinabile (v6, v7) o una casuale (v4) che potrebbe causare frammentazione degli indici.
  • Audit di sicurezza: Rileva gli UUID v1 che potrebbero esporre indirizzi MAC o timestamp, aiutandoti a valutare i rischi di divulgazione delle informazioni.

Come funziona

Lo strumento analizza la struttura esadecimale dell'UUID per estrarre due campi chiave:

  1. Versione: Letta dalla 13ª cifra esadecimale (indice 12 nella stringa hex senza separatori). Questo nibble codifica direttamente il numero di versione (1–8). I Nil e Max UUID vengono rilevati verificando se tutti i bit sono zero o tutti i bit sono uno.
  2. Variant: Determinato dai bit più significativi della 17ª cifra esadecimale (indice 16). Il pattern di bit corrisponde a una delle quattro famiglie di variant: NCS, RFC 4122/9562, Microsoft o Riservato.

Versioni UUID in sintesi

Versione Nome Proprietà principale
v1 Basato sul tempo Timestamp + indirizzo MAC
v2 DCE Security Timestamp + MAC + POSIX UID/GID
v3 Basato sul nome (MD5) Deterministico da namespace + nome
v4 Casuale 122 bit casuali
v5 Basato sul nome (SHA-1) Deterministico, hash più robusto rispetto a v3
v6 Basato sul tempo riordinato Variante ordinabile di v1
v7 Basato su Unix Epoch Time Timestamp Unix in ms + casuale, ideale per chiavi DB
v8 Personalizzato Specifico del fornitore o sperimentale
Nil Nil UUID Tutti i 128 bit impostati a zero
Max Max UUID Tutti i 128 bit impostati a uno

FAQ

Qual è la differenza tra versione e variant di un UUID? La versione indica l'algoritmo di generazione (basato sul tempo, casuale, basato su hash, ecc.), mentre il variant identifica a quale specifica l'UUID è conforme (RFC 4122, NCS, Microsoft). La maggior parte degli UUID che incontrerai sarà del variant RFC 4122/9562.

Quale versione UUID dovrei usare? Per la maggior parte delle applicazioni, la v4 (casuale) è la più semplice e ampiamente supportata. Se hai bisogno di identificatori ordinabili per tempo da utilizzare come chiavi primarie nel database, la v7 è la raccomandazione moderna. Usa la v5 quando hai bisogno di UUID deterministici derivati da un nome.

Questo strumento può estrarre il timestamp da un UUID? Questo strumento identifica solo la versione e il variant. Per estrarre i timestamp incorporati dagli UUID v1, v6 o v7, utilizza lo strumento dedicato UUID Time Extractor.