Decodor și Validator UUID | Analiza versiunilor (v1, v4, v7) și a timpului
Introduceți UUID-ul dumneavoastră în câmpul de mai sus, iar acest instrument (UUID Parser) va efectua imediat o verificare online, va determina versiunea, validitatea și va extrage informațiile ascunse.
Ce este un Decodor UUID?
Un Decodor UUID este un instrument care analizează un UUID (Universally Unique Identifier) și extrage toate informațiile disponibile din acesta. Un UUID nu este doar un șir aleatoriu de caractere – în funcție de versiune, poate conține un marcaj temporal, informații despre sistem sau un hash de date deterministice.
Ce informații puteți obține dintr-un UUID?
Informații de bază despre UUID
Versiunea UUID:
- Determină tipul și structura UUID (v1, v3, v4, v5, v6, v7)
- Extras din al 13-lea caracter hexazecimal
Variantă:
RFC 4122- Varianta standard UUIDNCS- Network Computing System (învechit)Microsoft- Varianta Microsoft GUIDReserved- Rezervat pentru utilizări viitoare
UUID v1 - Marcaj temporal + adresă MAC
Ce puteți obține:
- ✅ Ora exactă a creării - data și ora cu o precizie de 100 nanosecunde
- ✅ Secvența ceasului - număr secvențial pentru prevenirea coliziunilor
- ✅ ID nod - inițial o adresă MAC, adesea valori aleatorii
Exemplu:
UUID: 6ba7b810-9dad-11d1-80b4-00c04fd430c8
Versiune: v1 (Marcaj temporal + MAC)
Variantă: RFC 4122
Data și ora: 15.10.1997 04:25:33.000
Secvența ceasului: 724
ID nod: 00:C0:4F:D4:30:C8
Utilizare:
- Determinarea momentului creării unei înregistrări
- Audit și analiză forensică
- Depanarea problemelor dependente de timp
UUID v3/v5 - Bazat pe hash
Ce puteți obține:
- ✅ Tipul hash-ului - MD5 (v3) sau SHA-1 (v5)
- ❌ Nu se poate obține - namespace-ul și numele originale (hash unidirecțional)
Exemplu:
UUID: 886313e1-3b8a-5372-9b90-0c9aee199e5d
Versiune: v5 (Hash SHA-1)
Variantă: RFC 4122
Tip: UUID bazat pe hash (determinist)
Notă: Namespace-ul și numele original nu pot fi recuperate din UUID
Utilizare:
- Verificarea faptului că UUID este determinist
- Identificarea tipului UUID într-o bază de date
- Verificarea consistenței identificatorilor bazați pe hash
UUID v4 - Aleatoriu
Ce puteți obține:
- ✅ Versiune - confirmarea că este aleatoriu
- ✅ Variantă - standardul RFC 4122
- ❌ Nu există alte date - biți pur aleatorii
Exemplu:
UUID: f47ac10b-58cc-4372-a567-0e02b2c3d479
Versiune: v4 (Aleatoriu)
Variantă: RFC 4122
Tip: UUID generat aleatoriu
Utilizare:
- Verificarea faptului că UUID este aleatoriu (nu determinist)
- Verificarea formatului corect al UUID
- Validarea UUID înainte de stocarea în baza de date
UUID v6 - Marcaj temporal ordonat
Ce puteți obține:
- ✅ Ora exactă a creării - rearanjat pentru o performanță mai bună a bazei de date
- ✅ Secvența ceasului - număr secvențial
- ✅ ID nod - identificator de nod
Exemplu:
UUID: 1ec9414c-232a-6b00-b3c8-9e6bdeced846
Versiune: v6 (Marcaj temporal ordonat)
Variantă: RFC 4122
Data și ora: 30.01.2026 14:23:45.123
Secvența ceasului: 3272
ID nod: 9E:6B:DE:CE:D8:46
Utilizare:
- Determinarea orei de creare a înregistrării
- Analiza sortării cronologice în baza de date
- Depanarea sistemelor distribuite
UUID v7 - Marcaj temporal Unix
Ce puteți obține:
- ✅ Marcaj temporal Unix - milisecunde de la 1.1.1970
- ✅ Data și ora - format standard de marcaj temporal Unix
- ❌ Parte aleatorie - nu poate fi decodificată
Exemplu:
UUID: 017f22e2-79b0-7cc3-98c4-dc0c0c07398f
Versiune: v7 (Marcaj temporal Unix)
Variantă: RFC 4122
Data și ora: 30.01.2026 14:23:45.123
Utilizare:
- Obținerea timpului de creare a UUID-urilor moderne
- Analiza ordonării temporale
- Migrarea datelor cu marcaje temporale
Structura UUID
Un UUID are formatul: xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx
6ba7b810-9dad-11d1-80b4-00c04fd430c8
│ │ │ │ │ │ │ │ └───────────┴─ Nod (48 biți)
│ │ │ │ │ │ └──┴─────────────── Secvența ceasului (14 biți)
│ │ │ │ └──┴────────────────────── Variantă (2-3 biți)
│ │ └──┴───────────────────────────── Versiune (4 biți) + Time High
│ └──────────────────────────────────── Time Mid (16 biți)
└─────────────────────────────────────────── Time Low (32 biți)
Extracția versiunilor și variantelor
Versiune (M):
- Poziție: al 13-lea caracter hexazecimal
- Valori: 1-7 (diferite versiuni UUID)
Variantă (N):
- Poziție: al 17-lea caracter hexazecimal
0-7: NCS (Rezervat)8-B: RFC 4122 (standard)C-D: MicrosoftE-F: Viitor (Rezervat)
Exemple practice
Depanare - Determinarea orei de creare a unei înregistrări
Scenariu: Un utilizator raportează că datele sale au dispărut. Trebuie să aflați când a fost creată înregistrarea.
UUID: 6ba7b810-9dad-11d1-80b4-00c04fd430c8
Decodificat: 15.10.1997 04:25:33.000
→ Înregistrarea a fost creată în anul 1997
Analiză forensică - Verificarea secvenței temporale
Scenariu: Verificarea dacă evenimentele au avut loc în ordinea corectă.
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
→ UUID 2 a fost creat mai târziu (ordine corectă)
Identificarea tipului de UUID într-o bază de date
Scenariu: Aveți UUID-uri mixte într-o bază de date și trebuie să știți care sunt aleatorii și care au marcaj temporal.
f47ac10b-58cc-4372-a567-0e02b2c3d479 → v4 (aleatoriu, fără marcaj temporal)
6ba7b810-9dad-11d1-80b4-00c04fd430c8 → v1 (are marcaj temporal)
017f22e2-79b0-7cc3-98c4-dc0c0c07398f → v7 (are marcaj temporal)
→ Doar UUID-urile v1 și v7 conțin informații temporale
Limitări și ce nu se poate obține
❌ UUID v3/v5 - Hash-ul nu poate fi decodificat
Imposibil:
- Recuperarea namespace-ului original
- Recuperarea numelui/valorii originale
- Aflarea datelor care au fost hash-uite
Motiv: MD5 și SHA-1 sunt funcții de hash unidirecționale.
❌ UUID v4 - Fără date ascunse
Imposibil:
- Obținerea oricăror metadate
- Aflarea timpului de creare
- Identificarea sursei
Motiv: UUID v4 este pur aleatoriu, nu conține informații structurate.
⚠️ UUID v1/v6 - ID-ul nodului poate fi aleatoriu
Limitări:
- În implementările moderne, ID-ul nodului este adesea aleatoriu (nu o adresă MAC reală)
- Din motive de confidențialitate, adresele MAC sunt adesea înlocuite cu valori aleatorii
- Nu se poate identifica în mod fiabil o anumită mașină
Validarea UUID
Decodorul funcționează și ca validator UUID.
Verificarea validității UUID
Decodorul validează automat:
- ✅ Format corect (8-4-4-4-12 caractere hexazecimale)
- ✅ Caractere hexazecimale valide (0-9, a-f)
- ✅ Lungime corectă (36 de caractere inclusiv cratime, 32 fără)
Recunoașterea UUID-urilor invalide
Exemple invalide:
❌ 6ba7b810-9dad-11d1-80b4 (prea scurt)
❌ 6ba7b810-9dad-11d1-80b4-GHIJKLMN (caractere invalide)
❌ 6ba7b81-09dad-11d1-80b4-00c04fd4 (format greșit)
Pentru dezvoltatori
Implementare în JavaScript
// Extracția versiunii din UUID
function getUUIDVersion(uuid) {
const cleaned = uuid.replace(/-/g, '');
return parseInt(cleaned[12], 16);
}
// Extracția marcajului temporal din 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);
}
// Exemplu
const uuid = '017f22e2-79b0-7cc3-98c4-dc0c0c07398f';
console.log(getUUIDVersion(uuid)); // 7
console.log(extractV7Timestamp(uuid)); // Date object
Validarea UUID folosind 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);
}
Întrebări frecvente (FAQ)
Pot obține timpul de creare dintr-un UUID v4?
Nu, UUID v4 este pur aleatoriu și nu conține informații temporale. Pentru UUID-uri cu timp, utilizați v1, v6 sau v7.De ce ID-ul nodului din UUID v1 este aleatoriu în loc de o adresă MAC?
Implementările moderne utilizează un ID de nod aleatoriu din motive de confidențialitate. Dezvăluirea unei adrese MAC reale ar putea reprezenta un risc de securitate.Pot recupera URL-ul sau numele original dintr-un UUID v5?
Nu, UUID v5 folosește un hash SHA-1, care este unidirecțional. Datele originale nu pot fi recuperate din hash.Cum îmi dau seama dacă un UUID este aleatoriu (v4)?
Decodorul va afișa versiunea UUID. Dacă versiunea este 4, este un UUID generat aleatoriu, fără metadate suplimentare.Este marcajul temporal din UUID v1 precis?
Da, UUID v1 are o precizie teoretică de 100 nanosecunde (de la 15 octombrie 1582). În practică, depinde de precizia ceasului sistemului.Pot folosi decodorul pentru a valida un UUID?
Da, decodorul validează automat formatul UUID și afișează o eroare dacă UUID-ul este invalid.Securitate și confidențialitate
Ce dezvăluie UUID-ul?
UUID v1/v6:
- ⚠️ Ora creării - poate dezvălui sincronizarea operațiunilor
- ⚠️ Potențial adresă MAC - risc de identificare a dispozitivului (aleatoriu în implementările moderne)
UUID v4:
- ✅ Sigur - nu conține metadate
UUID v7:
- ⚠️ Marcaj temporal Unix - dezvăluie ora creării
Recomandări
- ✅ Utilizați UUID v4 pentru confidențialitate maximă
- ⚠️ Fiți precaut cu UUID-urile v1/v6/v7 în API-urile publice (dezvăluie informații temporale)
- ✅ UUID v5 este determinist, dar nu dezvăluie datele originale
- ⚠️ Hash-ul MD5 nu este complet sigur
Curiozități
- Cel mai vechi UUID v1 posibil: 15 octombrie 1582 00:00:00 (începutul calendarului gregorian)
- Cel mai nou UUID v7: 10889-08-02 05:31:50.655 (limita marcajului temporal Unix în ms)
- Precizia UUID v1: 100 nanosecunde (teoretic 10 milioane de UUID-uri pe secundă)
- UUID Nil:
00000000-0000-0000-0000-000000000000(un UUID special “gol”) - UUID Max:
ffffffff-ffff-ffff-ffff-ffffffffffff(valoare maximă)
Utilizare în diferite sisteme
PostgreSQL
-- Extracția versiunii UUID
SELECT substring(id::text, 15, 1) as version
FROM users;
-- Filtrarea după versiune
SELECT *
FROM users
WHERE substring(id::text, 15, 1) = '4';
MySQL
-- Verificarea formatului 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}$';