# UUID dekooder ja validaator

> Dekodeerige UUID-sid veebis. Leidke versioon, eraldage ajatempel (v1, v7) ja kontrollige formaati. Toetab UUID v1, v3, v4, v5, v6 ja v7.

URL: https://acrafto.com/et/uuid-dekooder-validaator/

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.

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

## 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))
- 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))
- Suomi (fi): [UUID-dekooderi ja validaattori](https://acrafto.com/fi/uuid-dekooderi/) ([Markdown](https://acrafto.com/fi/uuid-dekooderi/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))
