# UUID-dekooderi ja validaattori

> Dekoodaa UUID verkossa. Tunnista versio, pura aikaleima (v1, v7) ja tarkista muodon kelvollisuus. Tukee UUID v1, v3, v4, v5, v6 ja v7.

URL: https://acrafto.com/fi/uuid-dekooderi/

Tools are interactive browser apps; there is no public API, no endpoints to call and no server-side processing. To use a tool, open its HTML page in a browser.

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

```
// Version poimiminen UUID:stä
function getUUIDVersion(uuid) {
    const cleaned = uuid.replace(/-/g, '');
    return parseInt(cleaned[12], 16);
}

// Aikaleiman poimiminen 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);
}

// Esimerkki
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

```
-- UUID:n version poimiminen
SELECT substring(id::text, 15, 1) as version
FROM users;

-- Suodatus version mukaan
SELECT *
FROM users
WHERE substring(id::text, 15, 1) = '4';
```

### MySQL

```
-- UUID-muodon tarkistus
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}$';
```

## Other languages

- Čeština (cs): [UUID decoder a validátor](https://acrafto.com/cs/dekoder-uuid/) ([Markdown](https://acrafto.com/cs/dekoder-uuid/index.md))
- Slovenčina (sk): [UUID dekodér a validátor](https://acrafto.com/sk/uuid-dekoder-validator/) ([Markdown](https://acrafto.com/sk/uuid-dekoder-validator/index.md))
- English (en): [UUID Decoder and Validator](https://acrafto.com/en/uuid-decoder-validator/) ([Markdown](https://acrafto.com/en/uuid-decoder-validator/index.md))
- Deutsch (de): [UUID Decoder & Validator](https://acrafto.com/de/uuid-dekodierer-validator/) ([Markdown](https://acrafto.com/de/uuid-dekodierer-validator/index.md))
- Français (fr): [Décodeur et validateur UUID](https://acrafto.com/fr/decodeur-validateur-uuid/) ([Markdown](https://acrafto.com/fr/decodeur-validateur-uuid/index.md))
- Español (es): [Decodificador y validador UUID](https://acrafto.com/es/decodificador-validador-uuid/) ([Markdown](https://acrafto.com/es/decodificador-validador-uuid/index.md))
- Italiano (it): [Decodificatore e validatore UUID](https://acrafto.com/it/decodificatore-validatore-uuid/) ([Markdown](https://acrafto.com/it/decodificatore-validatore-uuid/index.md))
- Português (pt): [Decodificador e validador de UUID](https://acrafto.com/pt/analise-uuid/) ([Markdown](https://acrafto.com/pt/analise-uuid/index.md))
- Nederlands (nl): [UUID decoder & validator](https://acrafto.com/nl/uuid-decoder-validator/) ([Markdown](https://acrafto.com/nl/uuid-decoder-validator/index.md))
- Polski (pl): [Dekoder i walidator UUID](https://acrafto.com/pl/dekoder-i-walidator-uuid/) ([Markdown](https://acrafto.com/pl/dekoder-i-walidator-uuid/index.md))
- Română (ro): [Decodor și validator UUID](https://acrafto.com/ro/uuid-decoder-validator/) ([Markdown](https://acrafto.com/ro/uuid-decoder-validator/index.md))
- Magyar (hu): [UUID dekóder és validátor](https://acrafto.com/hu/uuid-dekoder-validator/) ([Markdown](https://acrafto.com/hu/uuid-dekoder-validator/index.md))
- Ελληνικά (el): [Αποκωδικοποιητής UUID](https://acrafto.com/el/uuid-decoder/) ([Markdown](https://acrafto.com/el/uuid-decoder/index.md))
- Български (bg): [UUID декодер и валидатор](https://acrafto.com/bg/uuid-dekoder-validator/) ([Markdown](https://acrafto.com/bg/uuid-dekoder-validator/index.md))
- Hrvatski (hr): [UUID dekoder i validator](https://acrafto.com/hr/uuid-dekoder-validator/) ([Markdown](https://acrafto.com/hr/uuid-dekoder-validator/index.md))
- Slovenščina (sl): [UUID decoder in validator](https://acrafto.com/sl/uuid-dekoder-validator/) ([Markdown](https://acrafto.com/sl/uuid-dekoder-validator/index.md))
- Eesti (et): [UUID dekooder ja validaator](https://acrafto.com/et/uuid-dekooder-validaator/) ([Markdown](https://acrafto.com/et/uuid-dekooder-validaator/index.md))
- Latviešu (lv): [UUID dekodētājs un validētājs](https://acrafto.com/lv/uuid-dekodetajs-validetajs/) ([Markdown](https://acrafto.com/lv/uuid-dekodetajs-validetajs/index.md))
- Lietuvių (lt): [UUID dekoderis](https://acrafto.com/lt/uuid-dekoderis-ir-validuoklis/) ([Markdown](https://acrafto.com/lt/uuid-dekoderis-ir-validuoklis/index.md))
- Svenska (sv): [UUID decoder och validator](https://acrafto.com/sv/uuid-avkodare-validerare/) ([Markdown](https://acrafto.com/sv/uuid-avkodare-validerare/index.md))
- Dansk (da): [UUID dekoder og validator](https://acrafto.com/da/uuid-dekoder-validator/) ([Markdown](https://acrafto.com/da/uuid-dekoder-validator/index.md))
- Norsk (no): [UUID-dekoder og validator](https://acrafto.com/no/uuid-dekoder-validator/) ([Markdown](https://acrafto.com/no/uuid-dekoder-validator/index.md))
- Українська (uk): [Декодер і валідатор UUID](https://acrafto.com/uk/uuid-dekoder/) ([Markdown](https://acrafto.com/uk/uuid-dekoder/index.md))
- Русский (ru): [UUID декодер и валидатор](https://acrafto.com/ru/uuid-dekoder-validator/) ([Markdown](https://acrafto.com/ru/uuid-dekoder-validator/index.md))
- Српски (sr): [UUID dekoder i validator](https://acrafto.com/sr/uuid-dekoder-validator/) ([Markdown](https://acrafto.com/sr/uuid-dekoder-validator/index.md))
- Македонски (mk): [UUID декодер и валидатор](https://acrafto.com/mk/uuid-dekoder-validator/) ([Markdown](https://acrafto.com/mk/uuid-dekoder-validator/index.md))
- Bosanski (bs): [UUID dekoder i validator](https://acrafto.com/bs/uuid-dekoder-validat/) ([Markdown](https://acrafto.com/bs/uuid-dekoder-validat/index.md))
- Shqip (sq): [Dekodues UUID](https://acrafto.com/sq/dekodues-uuid/) ([Markdown](https://acrafto.com/sq/dekodues-uuid/index.md))
- Türkçe (tr): [UUID çözücü ve doğrulayıcı](https://acrafto.com/tr/uuid-cozucu-dogrulayici/) ([Markdown](https://acrafto.com/tr/uuid-cozucu-dogrulayici/index.md))
- 日本語 (ja): [UUIDデコード・検証](https://acrafto.com/ja/uuid-decoder-validator/) ([Markdown](https://acrafto.com/ja/uuid-decoder-validator/index.md))
- 한국어 (ko): [UUID 디코더 및 검사기](https://acrafto.com/ko/uuid-decoder-validator/) ([Markdown](https://acrafto.com/ko/uuid-decoder-validator/index.md))
- العربية (ar): [فك تشفير UUID والتحقق منه](https://acrafto.com/ar/uuid-decoder-validator/) ([Markdown](https://acrafto.com/ar/uuid-decoder-validator/index.md))
- हिन्दी (hi): [UUID डिकोडर और वैलिडेटर](https://acrafto.com/hi/uuid-decoder-validator/) ([Markdown](https://acrafto.com/hi/uuid-decoder-validator/index.md))
- Bahasa Indonesia (id): [UUID decoder dan validator](https://acrafto.com/id/dekoder-uuid-validator/) ([Markdown](https://acrafto.com/id/dekoder-uuid-validator/index.md))
- Tiếng Việt (vi): [Giải mã và kiểm tra UUID](https://acrafto.com/vi/giai-ma-xac-thuc-uuid/) ([Markdown](https://acrafto.com/vi/giai-ma-xac-thuc-uuid/index.md))
- ไทย (th): [UUID Decoder](https://acrafto.com/th/uuid-decoder-validator/) ([Markdown](https://acrafto.com/th/uuid-decoder-validator/index.md))
- עברית (he): [מפענח UUID](https://acrafto.com/he/uuid-decoder-validator/) ([Markdown](https://acrafto.com/he/uuid-decoder-validator/index.md))
