Dekodues & Vërtetues UUID | Analiza e Versioneve (v1, v4, v7) dhe Kohës
Vendosni UUID-në tuaj në fushën e mësipërme dhe ky mjet (Analizuesi i UUID) menjëherë do të kryejë një kontroll online, do të përcaktojë versionin, vlefshmërinë dhe do të nxjerrë informacione të fshehura.
Çfarë është një Dekodues UUID?
Një Dekodues UUID është një mjet që analizon një UUID (Identifikues Universal Unik) dhe nxjerr të gjitha informacionet e disponueshme prej tij. UUID nuk është thjesht një varg karaktereve të rastësishme – në varësi të versionit, ai mund të përmbajë një vulë kohore, informacione sistemi ose hash të të dhënave deterministike.
Çfarë informacioni mund të merrni nga një UUID?
Informacione bazë rreth UUID-së
Versioni i UUID-së:
- Përcakton tipin dhe strukturën e UUID-së (v1, v3, v4, v5, v6, v7)
- Nxirret nga karakteri i 13-të heksadecimal
Varianti:
RFC 4122- Varianti standard i UUID-sëNCS- Network Computing System (i vjetëruar)Microsoft- Varianti Microsoft GUIDReserved- Rezervuar për përdorim të ardhshëm
UUID v1 - Vula Kohore + Adresa MAC
Çfarë mund të merrni:
- ✅ Ora e saktë e krijimit - data dhe ora me saktësi 100 nanosekonda
- ✅ Sekuenca e Kohës - numër sekuencial për parandalimin e përplasjeve
- ✅ ID e Nyjës - fillimisht adresa MAC, shpesh vlera të rastësishme
Shembull:
UUID: 6ba7b810-9dad-11d1-80b4-00c04fd430c8
Versioni: v1 (Vula Kohore + MAC)
Varianti: RFC 4122
Data dhe Ora: 15.10.1997 04:25:33.000
Sekuenca e Kohës: 724
ID e Nyjës: 00:C0:4F:D4:30:C8
Përdorimi:
- Përcaktimi i kohës kur u krijua regjistrimi
- Auditimi dhe analiza forenzike
- Debugging i problemeve të varura nga koha
UUID v3/v5 - Bazuar në Hash
Çfarë mund të merrni:
- ✅ Tipi i hash-it - MD5 (v3) ose SHA-1 (v5)
- ❌ Nuk mund të merret - hapësira fillestare e emrave dhe emri (hash njëkahësh)
Shembull:
UUID: 886313e1-3b8a-5372-9b90-0c9aee199e5d
Versioni: v5 (hash SHA-1)
Varianti: RFC 4122
Tipi: UUID i bazuar në hash (deterministike)
Shënim: Hapësira fillestare e emrave dhe emri nuk mund të rikthehen nga UUID
Përdorimi:
- Verifikimi që UUID është deterministik
- Identifikimi i tipit të UUID-së në bazën e të dhënave
- Kontrolli i qëndrueshmërisë së identifikuesve të bazuar në hash
UUID v4 - I Rastësishëm
Çfarë mund të merrni:
- ✅ Versioni - konfirmim që është i rastësishëm
- ✅ Varianti - standardi RFC 4122
- ❌ Asnjë të dhënë tjetër - bite krejtësisht të rastësishme
Shembull:
UUID: f47ac10b-58cc-4372-a567-0e02b2c3d479
Versioni: v4 (I Rastësishëm)
Varianti: RFC 4122
Tipi: UUID i gjeneruar rastësisht
Përdorimi:
- Verifikimi që UUID është i rastësishëm (jo deterministik)
- Kontrolli i formatit korrekt të UUID-së
- Validimi i UUID-së para ruajtjes në bazën e të dhënave
UUID v6 - Vula Kohore e Renditur
Çfarë mund të merrni:
- ✅ Ora e saktë e krijimit - ri-organizuar për performancë më të mirë të DB
- ✅ Sekuenca e Kohës - numër sekuencial
- ✅ ID e Nyjës - identifikuesi i nyjës
Shembull:
UUID: 1ec9414c-232a-6b00-b3c8-9e6bdeced846
Versioni: v6 (Vula Kohore e Renditur)
Varianti: RFC 4122
Data dhe Ora: 30.01.2026 14:23:45.123
Sekuenca e Kohës: 3272
ID e Nyjës: 9E:6B:DE:CE:D8:46
Përdorimi:
- Përcaktimi i kohës së krijimit të regjistrimit
- Analiza e rendit kronologjik në DB
- Debugging i sistemeve të shpërndara
UUID v7 - Vula Kohore Unix
Çfarë mund të merrni:
- ✅ Vula Kohore Unix - milisekonda nga 1.1.1970
- ✅ Data dhe Ora - format standard i vulës kohore Unix
- ❌ Pjesa e rastësishme - nuk mund të dekodohet
Shembull:
UUID: 017f22e2-79b0-7cc3-98c4-dc0c0c07398f
Versioni: v7 (Vula Kohore Unix)
Varianti: RFC 4122
Data dhe Ora: 30.01.2026 14:23:45.123
Përdorimi:
- Marrja e kohës së krijimit të UUID-ve moderne
- Analiza e rendit kohor
- Migrimi i të dhënave me vula kohore
Struktura e UUID-së
UUID ka formatin: xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx
6ba7b810-9dad-11d1-80b4-00c04fd430c8
│ │ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │ └───────────┴─ Nyja (48 bit)
│ │ │ │ │ │ └──┴─────────────── Sekuenca e Kohës (14 bit)
│ │ │ │ └──┴────────────────────── Varianti (2-3 bit)
│ │ └──┴───────────────────────────── Versioni (4 bit) + Time High
│ └──────────────────────────────────── Time Mid (16 bit)
└─────────────────────────────────────────── Time Low (32 bit)
Nxjerja e versioneve dhe varianteve
Versioni (M):
- Pozicioni: karakteri i 13-të heksadecimal
- Vlerat: 1-7 (versione të ndryshme të UUID-së)
Varianti (N):
- Pozicioni: karakteri i 17-të heksadecimal
0-7: NCS (Rezervuar)8-B: RFC 4122 (standard)C-D: MicrosoftE-F: E ardhme (Rezervuar)
Shembuj Praktikë
Debugging - Zbulimi i kohës së krijimit të regjistrimit
Skenari: Një përdorues raporton se të dhënat e tij janë zhdukur. Duhet të zbuloni kur është krijuar regjistrimi.
UUID: 6ba7b810-9dad-11d1-80b4-00c04fd430c8
Dekoduar: 15.10.1997 04:25:33.000
→ Regjistrimi u krijua në vitin 1997
Analiza Forenzike - Verifikimi i Sekuencës Kohore
Skenari: Kontrolli nëse ngjarjet kanë ndodhur në rendin e duhur.
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 u krijua më vonë (rendi i duhur)
Identifikimi i tipit të UUID-së në bazën e të dhënave
Skenari: Keni UUID të përziera në DB dhe duhet të dini cilat janë të rastësishme dhe cilat kanë vulë kohore.
f47ac10b-58cc-4372-a567-0e02b2c3d479 → v4 (e rastësishme, pa vulë kohore)
6ba7b810-9dad-11d1-80b4-00c04fd430c8 → v1 (ka vulë kohore)
017f22e2-79b0-7cc3-98c4-dc0c0c07398f → v7 (ka vulë kohore)
→ Vetëm UUID-të v1 dhe v7 përmbajnë informacione kohore
Kufizimet dhe çfarë nuk mund të merret
❌ UUID v3/v5 - Hash-i nuk mund të dekodohet
E pamundur:
- Të rikthehet hapësira fillestare e emrave
- Të rikthehet emri/vlera fillestare
- Të zbulohet se çfarë të dhënash janë hash-uar
Arsyeja: MD5 dhe SHA-1 janë funksione hash-imi njëkahëshe.
❌ UUID v4 - Asnjë e dhënë e fshehur
E pamundur:
- Të merren çfarëdo meta-të dhënash
- Të zbulohet koha e krijimit
- Të identifikohet burimi
Arsyeja: UUID v4 është krejtësisht i rastësishëm, nuk përmban informacione të strukturuara.
⚠️ UUID v1/v6 - ID e Nyjës mund të jetë e rastësishme
Kufizimi:
- Në implementimet moderne, ID e Nyjës shpesh është e rastësishme (jo adresa reale MAC)
- Për shkak të mbrojtjes së privatësisë, adresat MAC shpesh zëvendësohen me vlera të rastësishme
- Nuk mund të identifikohet me besueshmëri një makinë specifike
Validimi i UUID-së
Dekoduesi funksionon edhe si vërtetues i UUID-së.
Kontrolli i vlefshmërisë së UUID-së
Dekoduesi vërteton automatikisht:
- ✅ Formatin e saktë (8-4-4-4-12 karaktere heksadecimale)
- ✅ Karakteret heksadecimale të vlefshme (0-9, a-f)
- ✅ Gjatësinë e saktë (36 karaktere duke përfshirë vizat, 32 pa vizat)
Njohja e UUID-ve të pavlefshme
Shembuj të pavlefshëm:
❌ 6ba7b810-9dad-11d1-80b4 (shumë e shkurtër)
❌ 6ba7b810-9dad-11d1-80b4-GHIJKLMN (karaktere të pavlefshme)
❌ 6ba7b81-09dad-11d1-80b4-00c04fd4 (format i gabuar)
Për Zhvilluesit
Implementimi në JavaScript
// Nxjerja e versionit nga UUID
function getUUIDVersion(uuid) {
const cleaned = uuid.replace(/-/g, '');
return parseInt(cleaned[12], 16);
}
// Nxjerja e vulës kohore nga 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);
}
// Shembull
const uuid = '017f22e2-79b0-7cc3-98c4-dc0c0c07398f';
console.log(getUUIDVersion(uuid)); // 7
console.log(extractV7Timestamp(uuid)); // Date object
Validimi i UUID-së duke përdorur 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);
}
Pyetjet e Shpeshta (FAQ)
A mund të marr kohën e krijimit nga një UUID v4?
Jo, UUID v4 është krejtësisht i rastësishëm dhe nuk përmban asnjë informacion kohor. Për UUID me kohë, përdorni v1, v6 ose v7.Pse ID e Nyjës në UUID v1 është e rastësishme në vend të adresës MAC?
Implementimet moderne përdorin ID të rastësishme të Nyjës për shkak të mbrojtjes së privatësisë. Zbulimi i adresës reale MAC mund të ishte një rrezik sigurie.A mund të rikthej URL-në ose emrin origjinal nga një UUID v5?
Jo, UUID v5 përdor hash SHA-1, i cili është njëkahësh. Nga hash-i nuk mund të rikthehen të dhënat origjinale.Si e di nëse një UUID është i rastësishëm (v4)?
Dekoduesi shfaq versionin e UUID-së. Nëse versioni është 4, atëherë është një UUID e gjeneruar rastësisht pa meta-të dhëna të tjera.A është e saktë vula kohore në UUID v1?
Po, UUID v1 ka një saktësi teorike prej 100 nanosekondash (nga 15 tetori 1582). Në praktikë, varet nga saktësia e orës së sistemit.A mund ta përdor dekoduesin për të vërtetuar UUID-në?
Po, dekoduesi vërteton automatikisht formatin e UUID-së dhe shfaq një gabim nëse UUID është i pavlefshëm.Siguria dhe Privatësia
Çfarë zbulon UUID-ja?
UUID v1/v6:
- ⚠️ Koha e krijimit - mund të zbulojë kohën e operacioneve
- ⚠️ Potencialisht adresa MAC - rrezik identifikimi të pajisjes (në implementimet moderne e rastësishme)
UUID v4:
- ✅ E sigurt - nuk përmban asnjë meta-të dhënë
UUID v7:
- ⚠️ Vula Kohore Unix - zbulon kohën e krijimit
Rekomandime
- ✅ Përdorni UUID v4 për privatësi maksimale
- ⚠️ Kujdes me UUID v1/v6/v7 në API publike (zbulojnë informacione kohore)
- ✅ UUID v5 është deterministike, por nuk zbulon të dhënat origjinale
- ⚠️ Hash-i MD5 nuk është plotësisht i sigurt
Fakti interesantë
- UUID v1 më i vjetër i mundshëm: 15 Tetor 1582 00:00:00 (fillimi i kalendarit Gregorian)
- UUID v7 më i ri: 10889-08-02 05:31:50.655 (limiti i vulës kohore Unix në ms)
- Saktësia e UUID v1: 100 nanosekonda (teorikisht 10 milionë UUID në sekondë)
- UUID Nil:
00000000-0000-0000-0000-000000000000(UUID special “bosh”) - UUID Max:
ffffffff-ffff-ffff-ffff-ffffffffffff(vlera maksimale)
Përdorimi në Sisteme të Ndryshme
PostgreSQL
-- Nxjerja e versionit UUID
SELECT substring(id::text, 15, 1) as version
FROM users;
-- Filtrimi sipas versionit
SELECT *
FROM users
WHERE substring(id::text, 15, 1) = '4';
MySQL
-- Kontrolli i formatit 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}$';