UUID Dekooder ja Validaator | Versioonide ja aja analüüs

Sisesta oma UUID ülalolevasse väljale ja see tööriist (UUID Parser) teostab koheselt veebipõhise kontrolli, määrab versiooni, kehtivuse ja eraldab peidetud teabe.

Mis on UUID dekooder?

UUID dekooder on tööriist, mis analüüsib UUID-d (Universally Unique Identifier) ja eraldab sellest kogu saadaoleva teabe. UUID ei ole lihtsalt juhuslik märgijada – sõltuvalt versioonist võib see sisaldada ajatemplit, süsteemiinfot või deterministlike andmete räsiväärtust.

Millist teavet saate UUID-st?

UUID-i põhiinfo

UUID versioon:

  • Määrab UUID tüübi ja struktuuri (v1, v3, v4, v5, v6, v7)
  • Eraldatud 13. kuueteistkümnendsüsteemi märgist

Variant:

  • RFC 4122 - Standardne UUID variant
  • NCS - Network Computing System (aegunud)
  • Microsoft - Microsoft GUID variant
  • Reserved - Reserveeritud tulevaseks kasutamiseks

UUID v1 - Ajatempel + MAC-aadress

Mida saate teada:

  • Täpne loomisaeg - kuupäev ja kellaaeg 100 nanosekundi täpsusega
  • Kellajärjestus - järjestusnumber kokkupõrgete vältimiseks
  • Sõlme ID - algselt MAC-aadress, sageli juhuslikud väärtused

Näide:

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

Versioon: v1 (Ajatempel + MAC)
Variant: RFC 4122
Kuupäev ja kellaaeg: 15.10.1997 04:25:33.000
Kellajärjestus: 724
Sõlme ID: 00:C0:4F:D4:30:C8

Kasutamine:

  • Määratlemine, millal kirje loodi
  • Audit ja kohtuekspertiisi analüüs
  • Ajasõltuvate probleemide silumine

UUID v3/v5 - Räsipõhine

Mida saate teada:

  • Räsi tüüp - MD5 (v3) või SHA-1 (v5)
  • Ei saa teada - algset nimeruumi ja nime (ühesuunaline räsi)

Näide:

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

Versioon: v5 (SHA-1 räsi)
Variant: RFC 4122
Tüüp: Räsipõhine UUID (deterministlik)
Märkus: Algset nimeruumi ja nime ei saa UUID-st tagasi

Kasutamine:

  • Kinnitamaks, et UUID on deterministlik
  • UUID tüübi tuvastamine andmebaasis
  • Räsipõhiste identifikaatorite konsistentsuse kontrollimine

UUID v4 - Juhuslik

Mida saate teada:

  • Versioon - kinnitus, et see on juhuslik
  • Variant - RFC 4122 standard
  • Puuduvad muud andmed - puhtalt juhuslikud bitid

Näide:

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

Versioon: v4 (Juhuslik)
Variant: RFC 4122
Tüüp: Juhuslikult genereeritud UUID

Kasutamine:

  • Kinnitamaks, et UUID on juhuslik (mitte deterministlik)
  • UUID korrektse formaadi kontrollimine
  • UUID valideerimine enne andmebaasi salvestamist

UUID v6 - Järjestatud ajatempel

Mida saate teada:

  • Täpne loomisaeg - ümberkorraldatud parema DB jõudluse tagamiseks
  • Kellajärjestus - järjestusnumber
  • Sõlme ID - sõlme identifikaator

Näide:

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

Versioon: v6 (Järjestatud ajatempel)
Variant: RFC 4122
Kuupäev ja kellaaeg: 30.01.2026 14:23:45.123
Kellajärjestus: 3272
Sõlme ID: 9E:6B:DE:CE:D8:46

Kasutamine:

  • Kirje loomisaja määramine
  • Kronoloogilise järjestuse analüüs andmebaasis
  • Hajusüsteemide silumine

UUID v7 - Unixi ajatempel

Mida saate teada:

  • Unixi ajatempel - millisekundid alates 1.1.1970
  • Kuupäev ja kellaaeg - standardne Unixi ajatempli formaat
  • Juhuslik osa - ei saa dekodeerida

Näide:

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

Versioon: v7 (Unixi ajatempel)
Variant: RFC 4122
Kuupäev ja kellaaeg: 30.01.2026 14:23:45.123

Kasutamine:

  • Kaasaegsete UUID-de loomisaja teada saamine
  • Ajalise järjestuse analüüs
  • Andmete migreerimine ajatemplitega

UUID struktuur

UUID formaat on: xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx

6ba7b810-9dad-11d1-80b4-00c04fd430c8
│      │ │  │ │  │ │  │ │           │
│      │ │  │ │  │ │  │ └───────────┴─ Sõlm (48 bitti)
│      │ │  │ │  │ └──┴─────────────── Kellajärjestus (14 bitti)
│      │ │  │ └──┴────────────────────── Variant (2-3 bitti)
│      │ └──┴───────────────────────────── Versioon (4 bitti) + Aja kõrge osa
│      └──────────────────────────────────── Aja keskmine osa (16 bitti)
└─────────────────────────────────────────── Aja madal osa (32 bitti)

Versioonide ja variantide eraldamine

Versioon (M):

  • Positsioon: 13. kuueteistkümnendsüsteemi märk
  • Väärtused: 1-7 (erinevad UUID versioonid)

Variant (N):

  • Positsioon: 17. kuueteistkümnendsüsteemi märk
  • 0-7: NCS (Reserveeritud)
  • 8-B: RFC 4122 (standard)
  • C-D: Microsoft
  • E-F: Tulevik (Reserveeritud)

Praktilised näited

Silumine - Kirje loomisaja leidmine

Stsenaarium: Kasutaja teatab, et tema andmed on kadunud. Peate leidma, millal kirje loodi.

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

→ Kirje loodi aastal 1997

Kohtuekspertiisi analüüs - Ajalise järjestuse kontrollimine

Stsenaarium: Kontroll, kas sündmused toimusid õiges järjestuses.

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 loodi hiljem (õige järjestus)

UUID tüübi tuvastamine andmebaasis

Stsenaarium: Teil on andmebaasis segamini UUID-sid ja peate teadma, millised neist on juhuslikud ja millised sisaldavad ajatemplit.

f47ac10b-58cc-4372-a567-0e02b2c3d479 → v4 (juhuslik, ilma ajatemplita)
6ba7b810-9dad-11d1-80b4-00c04fd430c8 → v1 (sisaldab ajatemplit)
017f22e2-79b0-7cc3-98c4-dc0c0c07398f → v7 (sisaldab ajatemplit)

→ Ainult v1 ja v7 UUID-d sisaldavad ajalist teavet

Piirangud ja mida ei saa teada

❌ UUID v3/v5 - Räsi ei saa dekodeerida

Võimatu:

  • Algset nimeruumi tagasi saada
  • Algset nime/väärtust tagasi saada
  • Teada saada, millised andmed räsiti

Põhjus: MD5 ja SHA-1 on ühesuunalised räsifunktsioonid.

❌ UUID v4 - Peidetud andmeid pole

Võimatu:

  • Ühtegi metaandmet kätte saada
  • Loomisaega teada saada
  • Allikat tuvastada

Põhjus: UUID v4 on puhtalt juhuslik, ei sisalda struktureeritud teavet.

⚠️ UUID v1/v6 - Sõlme ID võib olla juhuslik

Piirangud:

  • Kaasaegsetes implementatsioonides on sõlme ID sageli juhuslik (mitte tegelik MAC-aadress)
  • Privaatsuse kaitsmiseks asendatakse MAC-aadressid sageli juhuslike väärtustega
  • Konkreetset masinat ei saa usaldusväärselt tuvastada

UUID valideerimine

Dekooder töötab ka UUID validaatorina.

UUID kehtivuse kontroll

Dekooder valideerib automaatselt:

  • ✅ Korrektne formaat (8-4-4-4-12 kuueteistkümnendsüsteemi märki)
  • ✅ Kehtivad kuueteistkümnendsüsteemi märgid (0-9, a-f)
  • ✅ Korrektne pikkus (36 märki koos sidekriipsudega, 32 ilma)

Kehtetute UUID-de tuvastamine

Kehtetud näited:

❌ 6ba7b810-9dad-11d1-80b4          (liiga lühike)
❌ 6ba7b810-9dad-11d1-80b4-GHIJKLMN (kehtetud märgid)
❌ 6ba7b81-09dad-11d1-80b4-00c04fd4 (vale formaat)

Arendajatele

Implementatsioon JavaScriptis

// Versiooni eraldamine UUID-st
function getUUIDVersion(uuid) {
    const cleaned = uuid.replace(/-/g, '');
    return parseInt(cleaned[12], 16);
}

// Ajatempli eraldamine UUID v7-st
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);
}

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

UUID valideerimine Regexiga

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);
}

Korduma Kippuvad Küsimused (KKK)

Kas UUID v4-st saab loomisaega? Ei, UUID v4 on puhtalt juhuslik ega sisalda ajalist teavet. Ajalise teabega UUID-de jaoks kasutage v1, v6 või v7.
Miks on UUID v1 sõlme ID juhuslik MAC-aadressi asemel? Kaasaegsed implementatsioonid kasutavad juhuslikku sõlme ID-d privaatsuse kaitsmiseks. Tegeliku MAC-aadressi avaldamine võiks olla turvarisk.
Kas UUID v5-st saab algset URL-i või nime tagasi? Ei, UUID v5 kasutab SHA-1 räsi, mis on ühesuunaline. Räsi abil ei saa algseid andmeid tagasi.
Kuidas ma tean, et UUID on juhuslik (v4)? Dekooder kuvab UUID versiooni. Kui versioon on 4, on tegemist juhuslikult genereeritud UUID-ga, millel pole lisametaandmeid.
Kas UUID v1 ajatempel on täpne? Jah, UUID v1-l on teoreetiline täpsus 100 nanosekundit (alates 15. oktoobrist 1582). Praktikas sõltub see süsteemikella täpsusest.
Kas ma saan dekooderit UUID valideerimiseks kasutada? Jah, dekooder valideerib automaatselt UUID formaati ja kuvab vea, kui UUID on kehtetu.

Turvalisus ja privaatsus

Mida UUID paljastab?

UUID v1/v6:

  • ⚠️ Loomisaeg - võib paljastada toimingute ajastuse
  • ⚠️ Potentsiaalselt MAC-aadress - seadme tuvastamise risk (kaasaegsetes implementatsioonides juhuslik)

UUID v4:

  • Turvaline - ei sisalda metaandmeid

UUID v7:

  • ⚠️ Unixi ajatempel - paljastab loomisaja

Soovitused

  • ✅ Kasutage UUID v4 maksimaalse privaatsuse tagamiseks
  • ⚠️ Olge ettevaatlik UUID v1/v6/v7 kasutamisel avalikes API-des (need paljastavad ajalist teavet)
  • ✅ UUID v5 on deterministlik, kuid ei paljasta algseid andmeid
  • ⚠️ MD5 räsi pole täiesti turvaline

Huvitavad faktid

  • Vanim võimalik UUID v1: 15. oktoober 1582 00:00:00 (Gregoriuse kalendri algus)
  • Uusim UUID v7: 10889-08-02 05:31:50.655 (Unixi ajatempli piir millisekundites)
  • UUID v1 täpsus: 100 nanosekundit (teoreetiliselt 10 miljonit UUID-d sekundis)
  • UUID Null: 00000000-0000-0000-0000-000000000000 (spetsiaalne “tühi” UUID)
  • UUID Max: ffffffff-ffff-ffff-ffff-ffffffffffff (maksimaalne väärtus)

Kasutamine erinevates süsteemides

PostgreSQL

-- UUID versiooni eraldamine
SELECT substring(id::text, 15, 1) as version
FROM users;

-- Filtreerimine versiooni järgi
SELECT *
FROM users
WHERE substring(id::text, 15, 1) = '4';

MySQL

-- UUID formaadi kontroll
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}$';