# UUID dekodētājs un validētājs

> Dekodējiet UUID tiešsaistē. Uzziniet versiju, iegūstiet laika zīmogu (v1, v7) un pārbaudiet formāta derīgumu. Atbalsts UUID v1, v3, v4, v5, v6 un v7.

URL: https://acrafto.com/lv/uuid-dekodetajs-validetajs/

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.

Ievadiet savu UUID augstāk esošajā laukā, un šis rīks (UUID parsētājs) nekavējoties veiks tiešsaistes pārbaudi, noteiks versiju, derīgumu un izvilks slēpto informāciju.

## Kas ir UUID dekodētājs?

UUID dekodētājs ir rīks, kas analizē UUID (Universally Unique Identifier – universāls unikāls identifikators) un izvelk no tā visu pieejamo informāciju. UUID nav tikai nejauša rakstzīmju virkne – atkarībā no versijas tas var saturēt laika zīmogu, sistēmas informāciju vai deterministisku datu jaucējkodu (hash).

## Kādu informāciju varat iegūt no UUID?

### Pamata informācija par UUID

**UUID versija:**

- Nosaka UUID tipu un struktūru (v1, v3, v4, v5, v6, v7)
- Izvilkts no 13. heksadecimālās rakstzīmes

**Variants:**

- `RFC 4122` - Standarta UUID variants
- `NCS` - Network Computing System (novecojis)
- `Microsoft` - Microsoft GUID variants
- `Reserved` - Rezervēts nākotnes lietošanai

### UUID v1 - Laika zīmogs + MAC adrese

**Ko varat iegūt:**

- ✅ **Precīzs izveides laiks** - datums un laiks ar precizitāti līdz 100 nanosekundēm
- ✅ **Pulkeņa secība** - secības numurs sadursmju novēršanai
- ✅ **Mezglu ID** - sākotnēji MAC adrese, bieži vien nejaušas vērtības

**Piemērs:**

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

Versija: v1 (Laika zīmogs + MAC)
Variants: RFC 4122
Datums un laiks: 15.10.1997 04:25:33.000
Pulkeņa secība: 724
Mezglu ID: 00:C0:4F:D4:30:C8
```

**Lietošana:**

- Lai noteiktu, kad ieraksts tika izveidots
- Audits un forenziskā analīze
- Ar laiku saistītu problēmu atkļūdošana

### UUID v3/v5 - Balstīts uz jaucējkodu (Hash)

**Ko varat iegūt:**

- ✅ **Jaucējkoda tips** - MD5 (v3) vai SHA-1 (v5)
- ❌ **Nav iegūstams** - sākotnējais nosaukumvieta (namespace) un nosaukums (vienvirziena jaucējkods)

**Piemērs:**

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

Versija: v5 (SHA-1 jaucējkods)
Variants: RFC 4122
Tips: Uz jaucējkodu balstīts UUID (deterministisks)
Piezīme: Sākotnējo nosaukumvietu (namespace) un nosaukumu nevar atgūt no UUID
```

**Lietošana:**

- Lai pārbaudītu, vai UUID ir deterministisks
- UUID tipa identifikācija datubāzē
- Jaucējkoda balstītu identifikatoru konsistences pārbaude

### UUID v4 - Nejaušs

**Ko varat iegūt:**

- ✅ **Versija** - apstiprinājums, ka tas ir nejaušs
- ✅ **Variants** - RFC 4122 standarts
- ❌ **Nav citu datu** - tīri nejauši biti

**Piemērs:**

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

Versija: v4 (Nejaušs)
Variants: RFC 4122
Tips: Nejauši ģenerēts UUID
```

**Lietošana:**

- Lai pārbaudītu, vai UUID ir nejaušs (nav deterministisks)
- Pareiza UUID formāta pārbaude
- UUID validācija pirms saglabāšanas datubāzē

### UUID v6 - Kārtots laika zīmogs

**Ko varat iegūt:**

- ✅ **Precīzs izveides laiks** - pārkārtots labākai DB veiktspējai
- ✅ **Pulkeņa secība** - secības numurs
- ✅ **Mezglu ID** - mezgla identifikators

**Piemērs:**

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

Versija: v6 (Kārtots laika zīmogs)
Variants: RFC 4122
Datums un laiks: 30.01.2026 14:23:45.123
Pulkeņa secība: 3272
Mezglu ID: 9E:6B:DE:CE:D8:46
```

**Lietošana:**

- Ieraksta izveides laika noteikšana
- Hronoloģiskās kārtošanas analīze DB
- Izplatīto sistēmu atkļūdošana

### UUID v7 - Unix laika zīmogs

**Ko varat iegūt:**

- ✅ **Unix laika zīmogs** - milisekundes kopš 1970. gada 1. janvāra
- ✅ **Datums un laiks** - standarta Unix laika zīmoga formāts
- ❌ **Nejaušā daļa** - nevar dekodēt

**Piemērs:**

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

Versija: v7 (Unix laika zīmogs)
Variants: RFC 4122
Datums un laiks: 30.01.2026 14:23:45.123
```

**Lietošana:**

- Mūsdienu UUID izveides laika iegūšana
- Laika secības analīze
- Datu migrācija ar laika zīmogiem

## UUID struktūra

UUID ir šādā formātā: `xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx`

```
6ba7b810-9dad-11d1-80b4-00c04fd430c8
│      │ │  │ │  │ │  │ │           │
│      │ │  │ │  │ │  │ └───────────┴─ Mezgls (48 biti)
│      │ │  │ │  │ └──┴─────────────── Pulkeņa secība (14 biti)
│      │ │  │ └──┴────────────────────── Variants (2-3 biti)
│      │ └──┴───────────────────────────── Versija (4 biti) + Time High
│      └──────────────────────────────────── Time Mid (16 biti)
└─────────────────────────────────────────── Time Low (32 biti)
```

### Versiju un variantu izvilkšana

**Versija (M):**

- Pozīcija: 13. heksadecimālā rakstzīme
- Vērtības: 1-7 (dažādas UUID versijas)

**Variants (N):**

- `0-7`: NCS (Rezervēts)
- `8-B`: RFC 4122 (standarts)
- `C-D`: Microsoft
- `E-F`: Nākotne (Rezervēts)

## Praktiski piemēri

### Atkļūdošana - Ieraksta izveides laika noteikšana

**Scenārijs:** Lietotājs ziņo, ka viņa dati ir pazuduši. Jums ir jānoskaidro, kad ieraksts tika izveidots.

```
UUID: 6ba7b810-9dad-11d1-80b4-00c04fd430c8
Dekodēts: 15.10.1997 04:25:33.000

→ Ieraksts tika izveidots 1997. gadā
```

### Forenziskā analīze - Laika secības pārbaude

**Scenārijs:** Pārbaudiet, vai notikumi norisinājās pareizā secībā.

```
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 tika izveidots vēlāk (pareizā secībā)
```

### UUID tipa identifikācija datubāzē

**Scenārijs:** Jums ir jaukti UUID datubāzē, un jums ir jāzina, kuri ir nejauši un kuriem ir laika zīmogs.

```
f47ac10b-58cc-4372-a567-0e02b2c3d479 → v4 (nejaušs, bez laika zīmoga)
6ba7b810-9dad-11d1-80b4-00c04fd430c8 → v1 (ar laika zīmogu)
017f22e2-79b0-7cc3-98c4-dc0c0c07398f → v7 (ar laika zīmogu)

→ Tikai v1 un v7 UUID satur laika informāciju
```

## Ierobežojumi un ko nevar iegūt

### ❌ UUID v3/v5 - Nevar dekodēt jaucējkodu (hash)

**Neiespējami:**

- Atgūt sākotnējo nosaukumvietu (namespace)
- Atgūt sākotnējo nosaukumu/vērtību
- Noskaidrot, kādi dati tika sajaukti (hashed)

**Iemesls:** MD5 un SHA-1 ir vienvirziena jaucējfunkcijas.

### ❌ UUID v4 - Nav slēptu datu

**Neiespējami:**

- Iegūt jebkādus metadatus
- Noskaidrot izveides laiku
- Identificēt avotu

**Iemesls:** UUID v4 ir tīri nejaušs, tas nesatur nekādu strukturētu informāciju.

### ⚠️ UUID v1/v6 - Mezglu ID var būt nejaušs

**Ierobežojumi:**

- Mūsdienu implementācijās mezglu ID bieži ir nejaušs (nav īsta MAC adrese)
- Privātuma aizsardzības dēļ MAC adreses bieži tiek aizstātas ar nejaušām vērtībām
- Nav iespējams droši identificēt konkrētu mašīnu

## UUID validācija

Dekodētājs darbojas arī kā UUID validētājs.

### UUID derīguma pārbaude

Dekodētājs automātiski validē:

- ✅ Pareizs formāts (8-4-4-4-12 heksadecimālās rakstzīmes)
- ✅ Derīgas heksadecimālās rakstzīmes (0-9, a-f)
- ✅ Pareizs garums (36 rakstzīmes, ieskaitot defises, 32 bez)

### Nederīgu UUID atpazīšana

**Nederīgi piemēri:**

```
❌ 6ba7b810-9dad-11d1-80b4          (pārāk īss)
❌ 6ba7b810-9dad-11d1-80b4-GHIJKLMN (nederīgas rakstzīmes)
❌ 6ba7b81-09dad-11d1-80b4-00c04fd4 (nepareizs formāts)
```

## Izstrādātājiem

### JavaScript implementācija

```
// UUID versijas izvilkšana
function getUUIDVersion(uuid) {
    const cleaned = uuid.replace(/-/g, '');
    return parseInt(cleaned[12], 16);
}

// Laika zīmoga izvilkšana no 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);
}

// Piemērs
const uuid = '017f22e2-79b0-7cc3-98c4-dc0c0c07398f';
console.log(getUUIDVersion(uuid)); // 7
console.log(extractV7Timestamp(uuid)); // Date object
```

### UUID validācija, izmantojot 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);
}
```

## Biežāk uzdotie jautājumi (BUJ)

### Vai es varu iegūt izveides laiku no UUID v4?

Nē, UUID v4 ir tīri nejaušs un nesatur nekādu laika informāciju. UUID ar laika zīmogu izmantojiet v1, v6 vai v7.

### Kāpēc UUID v1 mezglu ID ir nejaušs, nevis MAC adrese?

Mūsdienu implementācijās tiek izmantoti nejauši mezglu ID privātuma aizsardzības dēļ. Īstas MAC adreses atklāšana varētu radīt drošības risku.

### Vai es varu atgūt sākotnējo URL vai nosaukumu no UUID v5?

Nē, UUID v5 izmanto SHA-1 jaucējkodu, kas ir vienvirziena. No jaucējkoda nav iespējams atgūt sākotnējos datus.

### Kā es varu zināt, ka UUID ir nejaušs (v4)?

Dekodētājs parādīs UUID versiju. Ja versija ir 4, tas ir nejauši ģenerēts UUID bez papildu metadatiem.

### Vai laika zīmogs UUID v1 ir precīzs?

Jā, UUID v1 ir teorētiska precizitāte 100 nanosekundes (kopš 1582. gada 15. oktobra). Praksē tas ir atkarīgs no sistēmas pulksteņa precizitātes.

### Vai es varu izmantot dekodētāju UUID validācijai?

Jā, dekodētājs automātiski validē UUID formātu un parādīs kļūdu, ja UUID ir nederīgs.

## Drošība un privātums

### Ko atklāj UUID?

**UUID v1/v6:**

- ⚠️ **Izveides laiks** - var atklāt operāciju laiku
- ⚠️ **Potenciāli MAC adrese** - ierīces identifikācijas risks (mūsdienu implementācijās nejauša)

**UUID v4:**

- ✅ **Drošs** - nesatur nekādus metadatus

**UUID v7:**

- ⚠️ **Unix laika zīmogs** - atklāj izveides laiku

### Ieteikumi

- ✅ Izmantojiet UUID v4 maksimālai privātumam
- ⚠️ Esiet piesardzīgi ar UUID v1/v6/v7 publiskās API (tie atklāj laika informāciju)
- ✅ UUID v5 ir deterministisks, bet neatklāj sākotnējos datus
- ⚠️ MD5 jaucējkods nav pilnībā drošs

## Interesanti fakti

- **Vecākais iespējamais UUID v1**: 1582. gada 15. oktobris 00:00:00 (Gregora kalendāra sākums)
- **Jaunākais UUID v7**: 10889. gada 2. augusts 05:31:50.655 (Unix laika zīmoga limits ms)
- **UUID v1 precizitāte**: 100 nanosekundes (teorētiski 10 miljoni UUID sekundē)
- **UUID Nil**: `00000000-0000-0000-0000-000000000000` (īpašs “tukšs” UUID)
- **UUID Max**: `ffffffff-ffff-ffff-ffff-ffffffffffff` (maksimālā vērtība)

## Lietošana dažādās sistēmās

### PostgreSQL

```
-- UUID versijas izvilkšana
SELECT substring(id::text, 15, 1) as version
FROM users;

-- Filtrēšana pēc versijas
SELECT *
FROM users
WHERE substring(id::text, 15, 1) = '4';
```

### MySQL

```
-- UUID formāta pārbaude
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))
- 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))
