UUID-dekooderi & validaattori – Analysoi versiot (v1, v4, v7) ja aika

Syötä UUID yllä olevaan kenttään, ja tämä työkalu (UUID-jäsentäjä) tarkistaa sen välittömästi verkossa, määrittää version, kelvollisuuden ja poimii piilotetut tiedot.

Mikä on UUID-dekooderi?

UUID-dekooderi on työkalu, joka analysoi UUID:n (Universally Unique Identifier) ja poimii siitä kaikki saatavilla olevat tiedot. UUID ei ole vain satunnainen merkkijono – versiosta riippuen se voi sisältää aikaleiman, järjestelmätietoja tai deterministisen datan hash-arvon.

Mitä tietoja UUID:stä voi saada?

Perustietoja UUID:stä

UUID-versio:

  • Määrittää UUID:n tyypin ja rakenteen (v1, v3, v4, v5, v6, v7)
  • Poimitaan 13. heksadesimaalimerkistä

Variantti:

  • RFC 4122 - Standardi UUID-variantti
  • NCS - Network Computing System (vanhentunut)
  • Microsoft - Microsoft GUID-variantti
  • Reserved - Varattu tulevaa käyttöä varten

UUID v1 - Aikaleima + MAC-osoite

Mitä voit saada:

  • Tarkka luontiaika - päivämäärä ja aika 100 nanosekunnin tarkkuudella
  • Kellosekvenssi - sekvenssinumero törmäysten estämiseksi
  • Solmutunnus - alun perin MAC-osoite, usein satunnaisia arvoja

Esimerkki:

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

Versio: v1 (Aikaleima + MAC)
Variantti: RFC 4122
Päivämäärä ja aika: 15.10.1997 04:25:33.000
Kellosekvenssi: 724
Solmutunnus: 00:C0:4F:D4:30:C8

Käyttö:

  • Kirjauksen luontiajan määrittäminen
  • Auditoinnit ja rikostekniset analyysit
  • Aikasidonnaisten ongelmien virheenkorjaus

UUID v3/v5 - Hajautuspohjainen

Mitä voit saada:

  • Hajautustyyppi - MD5 (v3) tai SHA-1 (v5)
  • Ei voi saada - alkuperäistä nimiavaruutta ja nimeä (yksisuuntainen hajautus)

Esimerkki:

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

Versio: v5 (SHA-1-hajautus)
Variantti: RFC 4122
Tyyppi: Hajautuspohjainen UUID (deterministinen)
Huomautus: Alkuperäistä nimiavaruutta ja nimeä ei voi palauttaa UUID:stä

Käyttö:

  • Varmistus, että UUID on deterministinen
  • UUID:n tyypin tunnistaminen tietokannassa
  • Hajautuspohjaisten tunnisteiden yhdenmukaisuuden tarkistus

UUID v4 - Satunnainen

Mitä voit saada:

  • Versio - vahvistus satunnaisuudesta
  • Variantti - RFC 4122 standardi
  • Ei muita tietoja - puhtaasti satunnaisia bittejä

Esimerkki:

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

Versio: v4 (Satunnainen)
Variantti: RFC 4122
Tyyppi: Satunnaisesti generoitu UUID

Käyttö:

  • Varmistus, että UUID on satunnainen (ei deterministinen)
  • UUID:n oikean muodon tarkistus
  • UUID:n validointi ennen tietokantaan tallentamista

UUID v6 - Järjestetty aikaleima

Mitä voit saada:

  • Tarkka luontiaika - järjestelty uudelleen paremman DB-suorituskyvyn vuoksi
  • Kellosekvenssi - sekvenssinumero
  • Solmutunnus - solmun tunniste

Esimerkki:

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

Versio: v6 (Järjestetty aikaleima)
Variantti: RFC 4122
Päivämäärä ja aika: 30.01.2026 14:23:45.123
Kellosekvenssi: 3272
Solmutunnus: 9E:6B:DE:CE:D8:46

Käyttö:

  • Kirjauksen luontiajan määrittäminen
  • Kronologisen järjestyksen analysointi tietokannassa
  • Hajautettujen järjestelmien virheenkorjaus

UUID v7 - Unix-aikaleima

Mitä voit saada:

  • Unix-aikaleima - millisekunteina 1.1.1970 lähtien
  • Päivämäärä ja aika - standardi Unix-aikaleiman muoto
  • Satunnainen osa - ei voi dekoodata

Esimerkki:

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

Versio: v7 (Unix-aikaleima)
Variantti: RFC 4122
Päivämäärä ja aika: 30.01.2026 14:23:45.123

Käyttö:

  • Modernien UUID:iden luontiajan hakeminen
  • Aikajärjestyksen analysointi
  • Tietojen siirto aikaleimojen kanssa

UUID:n rakenne

UUID:n muoto on: xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx

6ba7b810-9dad-11d1-80b4-00c04fd430c8
│      │ │  │ │  │ │  │ │           │
│      │ │  │ │  │ │  │ └───────────┴─ Solmu (48 bittiä)
│      │ │  │ │  │ └──┴─────────────── Kellosekvenssi (14 bittiä)
│      │ │  │ └──┴────────────────────── Variantti (2-3 bittiä)
│      │ └──┴───────────────────────────── Versio (4 bittiä) + Time High
│      └──────────────────────────────────── Time Mid (16 bittiä)
└─────────────────────────────────────────── Time Low (32 bittiä)

Versioiden ja varianttien poiminta

Versio (M):

  • Sijainti: 13. heksadesimaalimerkki
  • Arvot: 1-7 (eri UUID-versiot)

Variantti (N):

  • Sijainti: 17. heksadesimaalimerkki
  • 0-7: NCS (Varattu)
  • 8-B: RFC 4122 (standardi)
  • C-D: Microsoft
  • E-F: Tulevaisuus (Varattu)

Käytännön esimerkkejä

Virheenkorjaus - Kirjauksen luontiajan selvittäminen

Skenaario: Käyttäjä ilmoittaa, että hänen tietonsa ovat kadonneet. Sinun on selvitettävä, milloin kirjaus luotiin.

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

→ Kirjaus luotiin vuonna 1997

Rikostekninen analyysi - Aikajärjestyksen varmistaminen

Skenaario: Tarkista, tapahtuivatko tapahtumat oikeassa järjestyksessä.

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 luotiin myöhemmin (oikea järjestys)

UUID-tyypin tunnistaminen tietokannassa

Skenaario: Sinulla on sekoitettu UUID:itä tietokannassa, ja sinun on tiedettävä, mitkä ovat satunnaisia ja mitkä sisältävät aikaleiman.

f47ac10b-58cc-4372-a567-0e02b2c3d479 → v4 (satunnainen, ilman aikaleimaa)
6ba7b810-9dad-11d1-80b4-00c04fd430c8 → v1 (sisältää aikaleiman)
017f22e2-79b0-7cc3-98c4-dc0c0c07398f → v7 (sisältää aikaleiman)

→ Vain v1- ja v7-UUID:t sisältävät aikatietoja

Rajoitukset ja mitä ei voi saada

❌ UUID v3/v5 - Hajautusarvoa ei voi dekoodata

Mahdotonta:

  • Palauttaa alkuperäistä nimiavaruutta
  • Palauttaa alkuperäistä nimeä/arvoa
  • Selvittää, mitä tietoja hajautettiin

Syy: MD5 ja SHA-1 ovat yksisuuntaisia hajautusfunktioita.

❌ UUID v4 - Ei piilotettuja tietoja

Mahdotonta:

  • Saada mitään metatietoja
  • Selvittää luontiaikaa
  • Tunnistaa lähdettä

Syy: UUID v4 on puhtaasti satunnainen, eikä se sisällä strukturoituja tietoja.

⚠️ UUID v1/v6 - Solmutunnus voi olla satunnainen

Rajoitus:

  • Moderneissa toteutuksissa solmutunnus (Node ID) on usein satunnainen (ei todellinen MAC-osoite)
  • Yksityisyyden suojan vuoksi MAC-osoitteet korvataan usein satunnaisilla arvoilla
  • Tiettyä konetta ei voida luotettavasti tunnistaa

UUID:n validointi

Dekooderi toimii myös UUID-validaattorina.

UUID:n kelvollisuuden tarkistus

Dekooderi validoi automaattisesti:

  • ✅ Oikean muodon (8-4-4-4-12 heksadesimaalimerkkiä)
  • ✅ Kelvolliset heksadesimaalimerkit (0-9, a-f)
  • ✅ Oikean pituuden (36 merkkiä mukaan lukien väliviivat, 32 ilman)

Kelvottomien UUID:iden tunnistaminen

Kelvottomia esimerkkejä:

❌ 6ba7b810-9dad-11d1-80b4          (liian lyhyt)
❌ 6ba7b810-9dad-11d1-80b4-GHIJKLMN (virheelliset merkit)
❌ 6ba7b81-09dad-11d1-80b4-00c04fd4 (väärä muoto)

Kehittäjille

Implementaatio JavaScriptissa

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

// Extrakce timestampu z 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);
}

// Příklad
const uuid = '017f22e2-79b0-7cc3-98c4-dc0c0c07398f';
console.log(getUUIDVersion(uuid)); // 7
console.log(extractV7Timestamp(uuid)); // Date object

UUID:n validointi Regexillä

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

Usein kysytyt kysymykset (FAQ)

Voinko saada luontiajan UUID v4:stä? Ei, UUID v4 on puhtaasti satunnainen, eikä se sisällä aikatietoja. Käytä v1-, v6- tai v7-versioita, jos tarvitset aikaa sisältävän UUID:n.
Miksi UUID v1:n solmutunnus (Node ID) on satunnainen MAC-osoitteen sijaan? Nykyaikaiset toteutukset käyttävät satunnaisia solmutunnuksia yksityisyyden suojan vuoksi. Todellisen MAC-osoitteen paljastaminen voisi olla turvallisuusriski.
Voinko saada takaisin alkuperäisen URL-osoitteen tai nimen UUID v5:stä? Ei, UUID v5 käyttää SHA-1-hajautusta, joka on yksisuuntainen. Hajautuksesta ei voi palauttaa alkuperäisiä tietoja.
Miten tunnistan, että UUID on satunnainen (v4)? Dekooderi näyttää UUID:n version. Jos versio on 4, se on satunnaisesti generoitu UUID ilman lisämetatietoja.
Onko UUID v1:n aikaleima tarkka? Kyllä, UUID v1:n teoreettinen tarkkuus on 100 nanosekuntia (15. lokakuuta 1582 alkaen). Käytännössä tarkkuus riippuu järjestelmän kellon tarkkuudesta.
Voinko käyttää dekooderia UUID:n validointiin? Kyllä, dekooderi validoi automaattisesti UUID:n muodon ja näyttää virheen, jos UUID on kelvoton.

Turvallisuus ja yksityisyys

Mitä UUID paljastaa?

UUID v1/v6:

  • ⚠️ Luontiaika - voi paljastaa operaatioiden ajoituksen
  • ⚠️ Mahdollisesti MAC-osoite - laitteen tunnistamisen riski (moderneissa toteutuksissa satunnainen)

UUID v4:

  • Turvallinen - ei sisällä metatietoja

UUID v7:

  • ⚠️ Unix-aikaleima - paljastaa luontiajan

Suositukset

  • ✅ Käytä UUID v4:ää maksimaalisen yksityisyyden varmistamiseksi
  • ⚠️ Ole varovainen UUID v1/v6/v7:n kanssa julkisissa API:issa (paljastavat aikatietoja)
  • ✅ UUID v5 on deterministinen, mutta ei paljasta alkuperäisiä tietoja
  • ⚠️ MD5-hajautus ei ole täysin turvallinen

Mielenkiintoisia faktoja

  • Vanhin mahdollinen UUID v1: 15. lokakuuta 1582 00:00:00 (gregoriaanisen kalenterin alku)
  • Uusin UUID v7: 10889-08-02 05:31:50.655 (Unix-aikaleiman raja millisekunteina)
  • UUID v1:n tarkkuus: 100 nanosekuntia (teoreettisesti 10 miljoonaa UUID:tä sekunnissa)
  • UUID Nil: 00000000-0000-0000-0000-000000000000 (erityinen “tyhjä” UUID)
  • UUID Max: ffffffff-ffff-ffff-ffff-ffffffffffff (maksimiarvo)

Käyttö eri järjestelmissä

PostgreSQL

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

-- Filtrování podle verze
SELECT *
FROM users
WHERE substring(id::text, 15, 1) = '4';

MySQL

-- Kontrola UUID formátu
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}$';