# Dekoder i walidator UUID

> Dekoduj UUID online. Sprawdź wersję, wyodrębnij sygnaturę czasową (v1, v7) i zweryfikuj poprawność formatu. Obsługa UUID v1, v3, v4, v5, v6 i v7.

URL: https://acrafto.com/pl/dekoder-i-walidator-uuid/

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.

Wprowadź swoje UUID w polu powyżej, a to narzędzie (parser UUID) natychmiast przeprowadzi kontrolę online, określi wersję, ważność i wyodrębni ukryte informacje.

## Co to jest Dekoder UUID?

Dekoder UUID to narzędzie, które analizuje UUID (Universally Unique Identifier) i wyodrębnia z niego wszelkie dostępne informacje. UUID to nie tylko losowy ciąg znaków – w zależności od wersji może zawierać sygnaturę czasową, informacje o systemie lub skrót danych deterministycznych.

## Jakie informacje można uzyskać z UUID?

### Podstawowe informacje o UUID

**Wersja UUID:**

- Określa typ i strukturę UUID (v1, v3, v4, v5, v6, v7)
- Wyodrębniona z 13. znaku szesnastkowego

**Wariant:**

- `RFC 4122` - Standardowy wariant UUID
- `NCS` - Network Computing System (przestarzałe)
- `Microsoft` - Wariant GUID Microsoftu
- `Reserved` - Zarezerwowany do przyszłego użytku

### UUID v1 - Sygnatura czasowa + adres MAC

**Co możesz uzyskać:**

- ✅ **Dokładny czas utworzenia** - data i czas z dokładnością do 100 nanosekund
- ✅ **Sekwencja zegarowa** - numer sekwencyjny zapobiegający kolizjom
- ✅ **ID węzła** - pierwotnie adres MAC, często wartości losowe

**Przykład:**

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

Wersja: v1 (Sygnatura czasowa + MAC)
Wariant: RFC 4122
Data i czas: 15.10.1997 04:25:33.000
Sekwencja zegarowa: 724
ID węzła: 00:C0:4F:D4:30:C8
```

**Użycie:**

- Określenie, kiedy rekord został utworzony
- Audyt i analiza kryminalistyczna
- Debugowanie problemów zależnych od czasu

### UUID v3/v5 - Oparty na skrócie (hash-based)

**Co możesz uzyskać:**

- ✅ **Typ skrótu** - MD5 (v3) lub SHA-1 (v5)
- ❌ **Nie można uzyskać** - oryginalnej przestrzeni nazw i nazwy (jednokierunkowy skrót)

**Przykład:**

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

Wersja: v5 (skrót SHA-1)
Wariant: RFC 4122
Typ: UUID oparty na skrócie (deterministyczny)
Uwaga: Oryginalna przestrzeń nazw i nazwa nie mogą zostać odzyskane z UUID
```

**Użycie:**

- Weryfikacja, czy UUID jest deterministyczne
- Identyfikacja typu UUID w bazie danych
- Kontrola spójności identyfikatorów opartych na skrócie

### UUID v4 - Losowe

**Co możesz uzyskać:**

- ✅ **Wersja** - potwierdzenie, że jest losowe
- ✅ **Wariant** - standard RFC 4122
- ❌ **Brak dodatkowych danych** - czysto losowe bity

**Przykład:**

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

Wersja: v4 (Losowe)
Wariant: RFC 4122
Typ: Losowo generowane UUID
```

**Użycie:**

- Weryfikacja, czy UUID jest losowe (nie deterministyczne)
- Sprawdzenie prawidłowego formatu UUID
- Walidacja UUID przed zapisaniem do bazy danych

### UUID v6 - Uporządkowana sygnatura czasowa

**Co możesz uzyskać:**

- ✅ **Dokładny czas utworzenia** - przestawiony dla lepszej wydajności bazy danych
- ✅ **Sekwencja zegarowa** - numer sekwencyjny
- ✅ **ID węzła** - identyfikator węzła

**Przykład:**

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

Wersja: v6 (Uporządkowana sygnatura czasowa)
Wariant: RFC 4122
Data i czas: 30.01.2026 14:23:45.123
Sekwencja zegarowa: 3272
ID węzła: 9E:6B:DE:CE:D8:46
```

**Użycie:**

- Określenie czasu utworzenia rekordu
- Analiza chronologicznego sortowania w BD
- Debugowanie systemów rozproszonych

### UUID v7 - Sygnatura czasowa Unix

**Co możesz uzyskać:**

- ✅ **Sygnatura czasowa Unix** - milisekundy od 1.1.1970
- ✅ **Data i czas** - standardowy format sygnatury czasowej Unix
- ❌ **Losowa część** - nie można zdekodować

**Przykład:**

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

Wersja: v7 (Sygnatura czasowa Unix)
Wariant: RFC 4122
Data i czas: 30.01.2026 14:23:45.123
```

**Użycie:**

- Uzyskanie czasu utworzenia nowoczesnych UUID
- Analiza porządku czasowego
- Migracja danych z sygnaturami czasowymi

## Struktura UUID

UUID ma format: `xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx`

```
6ba7b810-9dad-11d1-80b4-00c04fd430c8
│      │ │  │ │  │ │  │ │           │
│      │ │  │ │  │ │  │ └───────────┴─ Node (48 bitów)
│      │ │  │ │  │ └──┴─────────────── Clock Sequence (14 bitów)
│      │ │  │ └──┴────────────────────── Wariant (2-3 bity)
│      │ └──┴───────────────────────────── Wersja (4 bity) + Time High
│      └──────────────────────────────────── Time Mid (16 bitów)
└─────────────────────────────────────────── Time Low (32 bitów)
```

### Ekstrakcja wersji i wariantów

**Wersja (M):**

- Pozycja: 13. znak szesnastkowy
- Wartości: 1-7 (różne wersje UUID)

**Wariant (N):**

- Pozycja: 17. znak szesnastkowy
- `0-7`: NCS (Zarezerwowany)
- `8-B`: RFC 4122 (standard)
- `C-D`: Microsoft
- `E-F`: Przyszłość (Zarezerwowany)

## Praktyczne przykłady

### Debugowanie - Określenie czasu utworzenia rekordu

**Scenariusz:** Użytkownik zgłasza, że jego dane zniknęły. Musisz ustalić, kiedy rekord został utworzony.

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

→ Rekord został utworzony w roku 1997
```

### Analiza kryminalistyczna - Weryfikacja sekwencji czasowej

**Scenariusz:** Sprawdzenie, czy zdarzenia miały miejsce w prawidłowej kolejności.

```
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 zostało utworzone później (prawidłowa kolejność)
```

### Identyfikacja typu UUID w bazie danych

**Scenariusz:** Masz mieszane UUID w bazie danych i musisz wiedzieć, które są losowe, a które mają sygnaturę czasową.

```
f47ac10b-58cc-4372-a567-0e02b2c3d479 → v4 (losowe, bez sygnatury czasowej)
6ba7b810-9dad-11d1-80b4-00c04fd430c8 → v1 (ma sygnaturę czasową)
017f22e2-79b0-7cc3-98c4-dc0c0c07398f → v7 (ma sygnaturę czasową)

→ Tylko UUID v1 i v7 zawierają informacje o czasie
```

## Ograniczenia i czego nie można uzyskać

### ❌ UUID v3/v5 - Nie można dekodować skrótu

**Niemożliwe:**

- Odzyskać oryginalną przestrzeń nazw
- Odzyskać oryginalną nazwę/wartość
- Ustalić, jakie dane zostały zahaszowane

**Powód:** MD5 i SHA-1 to jednokierunkowe funkcje skrótu.

### ❌ UUID v4 - Brak ukrytych danych

**Niemożliwe:**

- Uzyskać żadnych metadanych
- Ustalić czas utworzenia
- Zidentyfikować źródło

**Powód:** UUID v4 jest czysto losowe, nie zawiera żadnych ustrukturyzowanych informacji.

### ⚠️ UUID v1/v6 - ID węzła może być losowe

**Ograniczenia:**

- W nowoczesnych implementacjach ID węzła jest często losowe (nie jest to prawdziwy adres MAC)
- Ze względu na ochronę prywatności adresy MAC są często zastępowane losowymi wartościami
- Nie można wiarygodnie zidentyfikować konkretnej maszyny

## Walidacja UUID

Dekoder działa również jako walidator UUID.

### Sprawdzenie ważności UUID

Dekoder automatycznie waliduje:

- ✅ Prawidłowy format (8-4-4-4-12 znaków szesnastkowych)
- ✅ Ważne znaki szesnastkowe (0-9, a-f)
- ✅ Prawidłowa długość (36 znaków z myślnikami, 32 bez)

### Rozpoznawanie nieprawidłowych UUID

**Nieprawidłowe przykłady:**

```
❌ 6ba7b810-9dad-11d1-80b4          (za krótkie)
❌ 6ba7b810-9dad-11d1-80b4-GHIJKLMN (nieprawidłowe znaki)
❌ 6ba7b81-09dad-11d1-80b4-00c04fd4 (nieprawidłowy format)
```

## Dla programistów

### Implementacja w JavaScript

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

// Ekstrakcja sygnatury czasowej 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);
}

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

### Walidacja UUID za pomocą wyrażeń regularnych (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);
}
```

## Często zadawane pytania (FAQ)

### Czy mogę uzyskać czas utworzenia z UUID v4?

Nie, UUID v4 jest czysto losowe i nie zawiera żadnych informacji o czasie. Dla UUID z czasem użyj v1, v6 lub v7.

### Dlaczego ID węzła w UUID v1 jest losowe zamiast adresu MAC?

Nowoczesne implementacje używają losowego ID węzła ze względu na ochronę prywatności. Ujawnienie prawdziwego adresu MAC mogłoby stanowić ryzyko bezpieczeństwa.

### Czy mogę odzyskać oryginalny URL lub nazwę z UUID v5?

Nie, UUID v5 używa skrótu SHA-1, który jest jednokierunkowy. Z haszu nie można odzyskać oryginalnych danych.

### Jak rozpoznać, że UUID jest losowe (v4)?

Dekoder wyświetli wersję UUID. Jeśli wersja to 4, jest to losowo generowane UUID bez dodatkowych metadanych.

### Czy sygnatura czasowa w UUID v1 jest dokładna?

Tak, UUID v1 ma teoretyczną dokładność 100 nanosekund (od 15 października 1582). W praktyce zależy to od dokładności zegara systemowego.

### Czy mogę użyć dekodera do walidacji UUID?

Tak, dekoder automatycznie waliduje format UUID i wyświetli błąd, jeśli UUID jest nieprawidłowe.

## Bezpieczeństwo i prywatność

### Co ujawnia UUID?

**UUID v1/v6:**

- ⚠️ **Czas utworzenia** - może ujawnić synchronizację operacji
- ⚠️ **Potencjalnie adres MAC** - ryzyko identyfikacji urządzenia (w nowoczesnych implementacjach losowe)

**UUID v4:**

- ✅ **Bezpieczne** - nie zawiera żadnych metadanych

**UUID v7:**

- ⚠️ **Sygnatura czasowa Unix** - ujawnia czas utworzenia

### Zalecenia

- ✅ Używaj UUID v4 dla maksymalnej prywatności
- ⚠️ Zachowaj ostrożność z UUID v1/v6/v7 w publicznych API (ujawniają informacje o czasie)
- ✅ UUID v5 jest deterministyczne, ale nie ujawnia oryginalnych danych
- ⚠️ Skrót MD5 nie jest całkowicie bezpieczny

## Ciekawostki

- **Najstarsze możliwe UUID v1**: 15 października 1582 00:00:00 (początek kalendarza gregoriańskiego)
- **Najnowsze UUID v7**: 10889-08-02 05:31:50.655 (limit sygnatury czasowej Unix w ms)
- **Dokładność UUID v1**: 100 nanosekund (teoretycznie 10 milionów UUID na sekundę)
- **UUID Nil**: `00000000-0000-0000-0000-000000000000` (specjalne “puste” UUID)
- **UUID Max**: `ffffffff-ffff-ffff-ffff-ffffffffffff` (maksymalna wartość)

## Użycie w różnych systemach

### PostgreSQL

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

-- Filtrowanie według wersji
SELECT *
FROM users
WHERE substring(id::text, 15, 1) = '4';
```

### MySQL

```
-- Sprawdzenie formatu UUID
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))
- 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))
- 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))
