Decodificatore & Validatore UUID | Analisi Versioni (v1, v4, v7)
Inserisci il tuo UUID nel campo sopra e questo strumento (UUID Parser) eseguirà immediatamente un controllo online, determinando la versione, la validità ed estraendo le informazioni nascoste.
Cos’è un Decodificatore UUID?
Un Decodificatore UUID è uno strumento che analizza un UUID (Universally Unique Identifier) ed estrae tutte le informazioni disponibili. Un UUID non è solo una stringa casuale di caratteri – a seconda della versione, può contenere un timestamp, informazioni di sistema o un hash di dati deterministici.
Quali informazioni si possono ottenere da un UUID?
Informazioni di base sull’UUID
Versione UUID:
- Determina il tipo e la struttura dell’UUID (v1, v3, v4, v5, v6, v7)
- Estratto dal 13° carattere esadecimale
Variante:
RFC 4122- Variante UUID standardNCS- Network Computing System (obsoleto)Microsoft- Variante GUID MicrosoftReserved- Riservato per usi futuri
UUID v1 - Timestamp + Indirizzo MAC
Cosa si può ottenere:
- ✅ Ora esatta di creazione - data e ora con una precisione di 100 nanosecondi
- ✅ Sequenza di Clock - numero sequenziale per prevenire collisioni
- ✅ ID Nodo - originariamente indirizzo MAC, spesso valori casuali
Esempio:
UUID: 6ba7b810-9dad-11d1-80b4-00c04fd430c8
Versione: v1 (Timestamp + MAC)
Variante: RFC 4122
Data e ora: 15.10.1997 04:25:33.000
Sequenza di Clock: 724
ID Nodo: 00:C0:4F:D4:30:C8
Utilizzo:
- Determinazione di quando un record è stato creato
- Audit e analisi forense
- Debugging di problemi dipendenti dal tempo
UUID v3/v5 - Basato su Hash
Cosa si può ottenere:
- ✅ Tipo di hash - MD5 (v3) o SHA-1 (v5)
- ❌ Non ottenibile - namespace e nome originali (hash unidirezionale)
Esempio:
UUID: 886313e1-3b8a-5372-9b90-0c9aee199e5d
Versione: v5 (hash SHA-1)
Variante: RFC 4122
Tipo: UUID basato su hash (deterministico)
Nota: Il namespace e il nome originali non possono essere recuperati dall'UUID
Utilizzo:
- Verifica che l’UUID sia deterministico
- Identificazione del tipo di UUID in un database
- Controllo della coerenza degli identificatori basati su hash
UUID v4 - Casuale
Cosa si può ottenere:
- ✅ Versione - conferma che è casuale
- ✅ Variante - standard RFC 4122
- ❌ Nessun dato aggiuntivo - bit puramente casuali
Esempio:
UUID: f47ac10b-58cc-4372-a567-0e02b2c3d479
Versione: v4 (Casuale)
Variante: RFC 4122
Tipo: UUID generato casualmente
Utilizzo:
- Verifica che l’UUID sia casuale (non deterministico)
- Controllo del formato corretto dell’UUID
- Validazione dell’UUID prima di salvarlo nel database
UUID v6 - Timestamp Ordinato
Cosa si può ottenere:
- ✅ Ora esatta di creazione - riorganizzato per migliori prestazioni DB
- ✅ Sequenza di Clock - numero sequenziale
- ✅ ID Nodo - identificatore del nodo
Esempio:
UUID: 1ec9414c-232a-6b00-b3c8-9e6bdeced846
Versione: v6 (Timestamp ordinato)
Variante: RFC 4122
Data e ora: 30.01.2026 14:23:45.123
Sequenza di Clock: 3272
ID Nodo: 9E:6B:DE:CE:D8:46
Utilizzo:
- Determinazione dell’ora di creazione di un record
- Analisi dell’ordinamento cronologico nel DB
- Debugging di sistemi distribuiti
UUID v7 - Timestamp Unix
Cosa si può ottenere:
- ✅ Timestamp Unix - millisecondi dal 1.1.1970
- ✅ Data e ora - formato timestamp Unix standard
- ❌ Parte casuale - non decodificabile
Esempio:
UUID: 017f22e2-79b0-7cc3-98c4-dc0c0c07398f
Versione: v7 (Timestamp Unix)
Variante: RFC 4122
Data e ora: 30.01.2026 14:23:45.123
Utilizzo:
- Ottenere l’ora di creazione degli UUID moderni
- Analisi dell’ordinamento temporale
- Migrazione di dati con timestamp
Struttura dell’UUID
L’UUID ha il formato: xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx
6ba7b810-9dad-11d1-80b4-00c04fd430c8
│ │ │ │ │ │ │ │ └───────────┴─ Nodo (48 bit)
│ │ │ │ │ │ └──┴─────────────── Sequenza di Clock (14 bit)
│ │ │ │ └──┴────────────────────── Variante (2-3 bit)
│ │ │ └──┴───────────────────────────── Versione (4 bit) + Time High
│ └──────────────────────────────────── Time Mid (16 bit)
└─────────────────────────────────────────── Time Low (32 bit)
Estrazione di versioni e varianti
Versione (M):
- Posizione: 13° carattere esadecimale
- Valori: 1-7 (diverse versioni di UUID)
Variante (N):
- Posizione: 17° carattere esadecimale
0-7: NCS (Riservato)8-B: RFC 4122 (standard)C-D: MicrosoftE-F: Futuro (Riservato)
Esempi pratici
Debugging - Determinazione dell’ora di creazione di un record
Scenario: Un utente segnala che i suoi dati sono scomparsi. È necessario scoprire quando è stato creato il record.
UUID: 6ba7b810-9dad-11d1-80b4-00c04fd430c8
Decodificato: 15.10.1997 04:25:33.000
→ Il record è stato creato nel 1997
Analisi forense - Verifica della sequenza temporale
Scenario: Controllo che gli eventi siano avvenuti nell’ordine corretto.
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 è stato creato successivamente (ordine corretto)
Identificazione del tipo di UUID nel database
Scenario: Hai UUID misti nel tuo DB e devi sapere quali sono casuali e quali hanno un timestamp.
f47ac10b-58cc-4372-a567-0e02b2c3d479 → v4 (casuale, senza timestamp)
6ba7b810-9dad-11d1-80b4-00c04fd430c8 → v1 (ha un timestamp)
017f22e2-79b0-7cc3-98c4-dc0c0c07398f → v7 (ha un timestamp)
→ Solo gli UUID v1 e v7 contengono informazioni temporali
Limitazioni e cosa non si può ottenere
❌ UUID v3/v5 - Impossibile decodificare l’hash
Impossibile:
- Recuperare il namespace originale
- Recuperare il nome/valore originale
- Scoprire quali dati sono stati hashati
Motivo: MD5 e SHA-1 sono funzioni di hashing unidirezionali.
❌ UUID v4 - Nessun dato nascosto
Impossibile:
- Ottenere qualsiasi metadato
- Scoprire l’ora di creazione
- Identificare la sorgente
Motivo: L’UUID v4 è puramente casuale, non contiene informazioni strutturate.
⚠️ UUID v1/v6 - L’ID Nodo può essere casuale
Limitazioni:
- Nelle implementazioni moderne, l’ID Nodo è spesso casuale (non un vero indirizzo MAC)
- A causa della protezione della privacy, gli indirizzi MAC sono spesso sostituiti da valori casuali
- Non è possibile identificare in modo affidabile una macchina specifica
Validazione UUID
Il decodificatore funziona anche come validatore UUID.
Controllo della validità dell’UUID
Il decodificatore valida automaticamente:
- ✅ Formato corretto (8-4-4-4-12 caratteri esadecimali)
- ✅ Caratteri esadecimali validi (0-9, a-f)
- ✅ Lunghezza corretta (36 caratteri inclusi i trattini, 32 senza)
Riconoscimento di UUID non validi
Esempi non validi:
❌ 6ba7b810-9dad-11d1-80b4 (troppo corto)
❌ 6ba7b810-9dad-11d1-80b4-GHIJKLMN (caratteri non validi)
❌ 6ba7b81-09dad-11d1-80b4-00c04fd4 (formato errato)
Per gli sviluppatori
Implementazione in JavaScript
// Estrazione della versione dall'UUID
function getUUIDVersion(uuid) {
const cleaned = uuid.replace(/-/g, '');
return parseInt(cleaned[12], 16);
}
// Estrazione del timestamp dall'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);
}
// Esempio
const uuid = '017f22e2-79b0-7cc3-98c4-dc0c0c07398f';
console.log(getUUIDVersion(uuid)); // 7
console.log(extractV7Timestamp(uuid)); // Date object
Validazione UUID tramite 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);
}
Domande Frequenti (FAQ)
Posso ottenere l'ora di creazione da un UUID v4?
No, un UUID v4 è puramente casuale e non contiene alcuna informazione temporale. Per UUID con timestamp, usa v1, v6 o v7.Perché l'ID Nodo in un UUID v1 è casuale invece di un indirizzo MAC?
Le implementazioni moderne utilizzano un ID Nodo casuale per motivi di privacy. Rivelare l'indirizzo MAC reale potrebbe essere un rischio per la sicurezza.Posso recuperare l'URL o il nome originale da un UUID v5?
No, un UUID v5 utilizza un hash SHA-1, che è unidirezionale. Non è possibile recuperare i dati originali dall'hash.Come faccio a sapere se un UUID è casuale (v4)?
Il decodificatore mostra la versione dell'UUID. Se la versione è 4, si tratta di un UUID generato casualmente senza metadati aggiuntivi.Il timestamp in un UUID v1 è preciso?
Sì, un UUID v1 ha una precisione teorica di 100 nanosecondi (dal 15 ottobre 1582). In pratica, dipende dalla precisione dell'orologio di sistema.Posso usare il decodificatore per validare un UUID?
Sì, il decodificatore valida automaticamente il formato dell'UUID e visualizza un errore se l'UUID non è valido.Sicurezza e Privacy
Cosa rivela un UUID?
UUID v1/v6:
- ⚠️ Ora di creazione - può rivelare la tempistica delle operazioni
- ⚠️ Potenzialmente indirizzo MAC - rischio di identificazione del dispositivo (casuale nelle implementazioni moderne)
UUID v4:
- ✅ Sicuro - non contiene metadati
UUID v7:
- ⚠️ Timestamp Unix - rivela l’ora di creazione
Raccomandazioni
- ✅ Utilizza UUID v4 per la massima privacy
- ⚠️ Sii cauto con UUID v1/v6/v7 nelle API pubbliche (rivelano informazioni temporali)
- ✅ L’UUID v5 è deterministico, ma non rivela i dati originali
- ⚠️ L’hash MD5 non è completamente sicuro
Curiosità
- UUID v1 più antico possibile: 15 ottobre 1582 00:00:00 (inizio del calendario gregoriano)
- UUID v7 più recente: 10889-08-02 05:31:50.655 (limite del timestamp Unix in ms)
- Precisione UUID v1: 100 nanosecondi (teoricamente 10 milioni di UUID al secondo)
- UUID Nil:
00000000-0000-0000-0000-000000000000(speciale UUID “vuoto”) - UUID Max:
ffffffff-ffff-ffff-ffff-ffffffffffff(valore massimo)
Utilizzo in diversi sistemi
PostgreSQL
-- Estrazione della versione UUID
SELECT substring(id::text, 15, 1) as version
FROM users;
-- Filtraggio per versione
SELECT *
FROM users
WHERE substring(id::text, 15, 1) = '4';
MySQL
-- Controllo del formato 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}$';