UUID Dekodér & Validátor | Analýza verzí (v1, v4, v7) a času

Vložte své UUID do pole výše a tento nástroj (UUID Parser) okamžitě provede online kontrolu, určí verzi, validitu a extrahuje skryté informace.

Co je UUID Dekodér?

UUID Dekodér je nástroj, který analyzuje UUID (Universally Unique Identifier) a extrahuje z něj veškeré dostupné informace. UUID není jen náhodný řetězec znaků – podle verze může obsahovat časové razítko, informace o systému nebo hash deterministických dat.

Jaké informace můžete z UUID získat?

Základní informace o UUID

Verze UUID:

  • Určuje typ a strukturu UUID (v1, v3, v4, v5, v6, v7)
  • Extrahováno z 13. hexadecimálního znaku

Varianta:

  • RFC 4122 - Standard UUID varianta
  • NCS - Network Computing System (zastaralé)
  • Microsoft - Microsoft GUID varianta
  • Reserved - Rezervováno pro budoucí použití

UUID v1 - Časové razítko + MAC adresa

Co můžete získat:

  • Přesný čas vytvoření - datum a čas s přesností na 100 nanosekund
  • Clock Sequence - sekvenční číslo pro prevenci kolizí
  • Node ID - původně MAC adresa, často náhodné hodnoty

Příklad:

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

Verze: v1 (Časové razítko + MAC)
Varianta: RFC 4122
Datum a čas: 15.10.1997 04:25:33.000
Clock Sequence: 724
Node ID: 00:C0:4F:D4:30:C8

Použití:

  • Určení, kdy byl záznam vytvořen
  • Audit a forensní analýza
  • Debugging časově závislých problémů

UUID v3/v5 - Hash-based

Co můžete získat:

  • Typ hashe - MD5 (v3) nebo SHA-1 (v5)
  • Nelze získat - původní namespace a name (jednosměrný hash)

Příklad:

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

Verze: v5 (SHA-1 hash)
Varianta: RFC 4122
Typ: Hash-based UUID (deterministické)
Poznámka: Původní namespace a název nelze z UUID získat zpět

Použití:

  • Ověření, že UUID je deterministické
  • Identifikace typu UUID v databázi
  • Kontrola konzistence hash-based identifikátorů

UUID v4 - Náhodné

Co můžete získat:

  • Verze - potvrzení, že je náhodné
  • Varianta - RFC 4122 standard
  • Žádná další data - čistě náhodné bity

Příklad:

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

Verze: v4 (Náhodné)
Varianta: RFC 4122
Typ: Náhodně generované UUID

Použití:

  • Ověření, že UUID je náhodné (ne deterministické)
  • Kontrola správného formátu UUID
  • Validace UUID před uložením do databáze

UUID v6 - Seřazené časové razítko

Co můžete získat:

  • Přesný čas vytvoření - přeuspořádané pro lepší DB výkon
  • Clock Sequence - sekvenční číslo
  • Node ID - identifikátor uzlu

Příklad:

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

Verze: v6 (Seřazené časové razítko)
Varianta: RFC 4122
Datum a čas: 30.01.2026 14:23:45.123
Clock Sequence: 3272
Node ID: 9E:6B:DE:CE:D8:46

Použití:

  • Určení času vytvoření záznamu
  • Analýza chronologického řazení v DB
  • Debugging distribuovaných systémů

UUID v7 - Unix timestamp

Co můžete získat:

  • Unix timestamp - milisekundy od 1.1.1970
  • Datum a čas - standardní Unix timestamp formát
  • Náhodná část - nelze dekódovat

Příklad:

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

Verze: v7 (Unix timestamp)
Varianta: RFC 4122
Datum a čas: 30.01.2026 14:23:45.123

Použití:

  • Získání času vytvoření moderních UUID
  • Analýza časového řazení
  • Migrace dat s časovými značkami

Struktura UUID

UUID má formát: xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx

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

Extrakce verzí a variant

Verze (M):

  • Pozice: 13. hexadecimální znak
  • Hodnoty: 1-7 (různé verze UUID)

Varianta (N):

  • Pozice: 17. hexadecimální znak
  • 0-7: NCS (Reserved)
  • 8-B: RFC 4122 (standard)
  • C-D: Microsoft
  • E-F: Future (Reserved)

Praktické příklady

Debugging - Zjištění času vytvoření záznamu

Scénář: Uživatel hlásí, že jeho data zmizela. Potřebujete zjistit, kdy byl záznam vytvořen.

UUID: 6ba7b810-9dad-11d1-80b4-00c04fd430c8
Dekódováno: 15.10.1997 04:25:33.000

→ Záznam byl vytvořen v roce 1997

Forensní analýza - Ověření časové posloupnosti

Scénář: Kontrola, zda události proběhly ve správném pořadí.

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 bylo vytvořeno později (správné pořadí)

Identifikace typu UUID v databázi

Scénář: Máte smíšené UUID v DB a potřebujete vědět, které jsou náhodné a které mají timestamp.

f47ac10b-58cc-4372-a567-0e02b2c3d479 → v4 (náhodné, bez timestampu)
6ba7b810-9dad-11d1-80b4-00c04fd430c8 → v1 (má timestamp)
017f22e2-79b0-7cc3-98c4-dc0c0c07398f → v7 (má timestamp)

→ Pouze v1 a v7 UUID obsahují časové informace

Omezení a co nelze získat

❌ UUID v3/v5 - Nelze dekódovat hash

Nemožné:

  • Získat zpět původní namespace
  • Získat zpět původní name/hodnotu
  • Zjistit, jaká data byla zahashována

Důvod: MD5 a SHA-1 jsou jednosměrné hashovací funkce.

❌ UUID v4 - Žádná skrytá data

Nemožné:

  • Získat jakékoliv metadata
  • Zjistit čas vytvoření
  • Identifikovat zdroj

Důvod: UUID v4 je čistě náhodné, neobsahuje žádné strukturované informace.

⚠️ UUID v1/v6 - Node ID může být náhodné

Omezení:

  • V moderních implementacích je Node ID často náhodné (ne skutečná MAC adresa)
  • Kvůli ochraně soukromí se MAC adresy často nahrazují náhodnými hodnotami
  • Nelze spolehlivě identifikovat konkrétní stroj

Validace UUID

Dekóder funguje i jako UUID validátor.

Kontrola platnosti UUID

Dekodér automaticky validuje:

  • ✅ Správný formát (8-4-4-4-12 hexadecimálních znaků)
  • ✅ Platné hexadecimální znaky (0-9, a-f)
  • ✅ Správná délka (36 znaků včetně pomlček, 32 bez)

Rozpoznání neplatných UUID

Neplatné příklady:

❌ 6ba7b810-9dad-11d1-80b4          (příliš krátké)
❌ 6ba7b810-9dad-11d1-80b4-GHIJKLMN (neplatné znaky)
❌ 6ba7b81-09dad-11d1-80b4-00c04fd4 (špatný formát)

Pro vývojáře

Implementace v JavaScriptu

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

Validace UUID pomocí 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);
}

Časté otázky (FAQ)

Můžu z UUID v4 získat čas vytvoření? Ne, UUID v4 je čistě náhodné a neobsahuje žádné časové informace. Pro UUID s časem použijte v1, v6 nebo v7.
Proč je Node ID v UUID v1 náhodné místo MAC adresy? Moderní implementace používají náhodné Node ID kvůli ochraně soukromí. Odhalení skutečné MAC adresy by mohlo být bezpečnostní riziko.
Můžu z UUID v5 získat zpět původní URL nebo název? Ne, UUID v5 používá SHA-1 hash, který je jednosměrný. Z hashe nelze získat zpět původní data.
Jak poznám, že UUID je náhodné (v4)? Dekodér zobrazí verzi UUID. Pokud je verze 4, jedná se o náhodně generované UUID bez dalších metadat.
Je časové razítko v UUID v1 přesné? Ano, UUID v1 má teoretickou přesnost 100 nanosekund (od 15. října 1582). V praxi záleží na přesnosti systémových hodin.
Můžu dekodér použít pro validaci UUID? Ano, dekodér automaticky validuje formát UUID a zobrazí chybu, pokud je UUID neplatné.

Bezpečnost a soukromí

Co UUID odhaluje?

UUID v1/v6:

  • ⚠️ Čas vytvoření - může odhalit časování operací
  • ⚠️ Potenciálně MAC adresa - riziko identifikace zařízení (v moderních implementacích náhodné)

UUID v4:

  • Bezpečné - neobsahuje žádné metadata

UUID v7:

  • ⚠️ Unix timestamp - odhaluje čas vytvoření

Doporučení

  • ✅ Používejte UUID v4 pro maximální soukromí
  • ⚠️ Buďte opatrní s UUID v1/v6/v7 v public API (odhalují časové informace)
  • ✅ UUID v5 je deterministické, ale neodhaluje původní data
  • ⚠️ MD5 Hash není úplně bezpečná

Zajímavosti

  • Nejstarší možné UUID v1: 15. října 1582 00:00:00 (začátek gregoriánského kalendáře)
  • Nejnovější UUID v7: 10889-08-02 05:31:50.655 (limit Unix timestamp v ms)
  • Přesnost UUID v1: 100 nanosekund (teoreticky 10 milionů UUID za sekundu)
  • UUID Nil: 00000000-0000-0000-0000-000000000000 (speciální “prázdné” UUID)
  • UUID Max: ffffffff-ffff-ffff-ffff-ffffffffffff (maximální hodnota)

Použití v různých systémech

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