Generátor UUID

Generujte univerzálně unikátní identifikátory (UUID) pomocí algoritmů založených na časových značkách pro prevenci duplikátů.

Klávesové zkratky: R pro přegenerování UUID nebo C pro kopírování

Jak fungují UUID

UUID v1 (Založené na časové značce): Používá aktuální časovou značku (100nanosekundové intervaly od 15. října 1582) kombinovanou s MAC adresou nebo náhodným identifikátorem uzlu. To zajišťuje jedinečnost mezi různými stroji a zabraňuje duplikátům i při současném generování.

UUID v4 (Náhodné): Používá kryptograficky silná náhodná čísla. I když jsou duplikáty teoreticky možné, pravděpodobnost je tak nízká (1 z 2^122), že je pro praktické účely zanedbatelná.

UUID v7 (Moderní časová značka): Nejnovější verze UUID, která kombinuje unixovou časovou značku (48 bitů) s náhodnými daty (74 bitů). To poskytuje výhody časového řazení z v1 při zachování soukromí v4, což je ideální pro primární klíče databáze.

Formát: UUID jsou 128bitové hodnoty zobrazené jako 32 hexadecimálních číslic ve formátu: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

Běžné případy použití

UUID (známé také jako GUID) vám dají prakticky neomezenou zásobu unikátních identifikátorů, aniž byste se museli koordinovat s centrální autoritou. Tady jsou některá typická místa, kde se používají:

Primární klíče v databázích

UUID umožňují víc službám nebo shardům generovat klíče nezávisle bez kolizí. UUID v7 je stále preferovanější, protože jeho úvodní časové razítko udržuje inserty v blízkých místech a indexy kompaktní.

Distribuované systémy

Když události produkuje mnoho uzlů, UUID pro každou událost odstraňuje úzké hrdlo v podobě centrální sekvence a udržuje logy dohledatelné napříč hranicemi služeb.

Veřejně viditelné identifikátory

UUID v4 v URL neprozradí, kolik záznamů existuje, ani neotevírá dveře enumeračním útokům tak, jako to dělá postupně rostoucí celé číslo.

Klíče pro idempotenci

Klienti pro každý požadavek vygenerují UUID, takže server pozná opakování a neprovede stejnou akci dvakrát.

Kterou verzi si vybrat?

  • Sáhněte po v4, když chcete prostou náhodnost bez dalších vlastností - pro většinu aplikací je to nejbezpečnější výchozí volba.
  • Zvolte v7, pokud bude identifikátor sloužit jako primární klíč v databázi nebo se uloží do indexu, kde záleží na pořadí vkládání. Zabudované časové razítko vede řádky k tomu, aby se seskupovaly blízko sebe, a výrazně zrychluje zápisy ve velkém měřítku.
  • Použijte v1 jen tehdy, když explicitně potřebujete odvozovat identifikátor z časového razítka a identifikátoru uzlu. V moderních aplikacích je pro tentýž případ lepší v7, která neprozrazuje MAC adresu.

Často kladené otázky

Co je to UUID?

UUID (univerzálně unikátní identifikátor) je 128bitová hodnota, obvykle zapisovaná jako 32 hexadecimálních číslic ve tvaru xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx. Různé verze generují hodnotu jinak (náhodně, pomocí časového razítka nebo kombinací obojího).

Jaký je rozdíl mezi UUID a GUID?

Označují totéž. GUID (globálně unikátní identifikátor) je název používaný v ekosystému Microsoftu; UUID je název z RFC 4122 a používá se všude jinde. Formát i záruky jedinečnosti jsou shodné.

Jsou UUID zaručeně jedinečné?

Matematicky zaručené to není - ale pravděpodobnost kolize u UUID v4 je zhruba 1 ku 2^122, což je daleko pod hranicí jakéhokoli praktického využití. U UUID v1 a v7 se kolizím v praxi brání časové razítko a bity uzlu nebo náhodné bity.

Mám pro primární klíče v databázi volit UUID v4, nebo v7?

UUID v7 je pro primární klíče obecně lepší. Protože jsou úvodní bity Unix časovým razítkem, nové řádky končí na disku blízko sebe, což udržuje indexy kompaktní a zápisy rychlé. V4 zvolte jen tehdy, když pořadí vkládání nesmí být za žádných okolností odvoditelné.

Potřebuji generátor UUID v1?

Málokdy. UUID v1 obsahuje MAC adresu generujícího stroje (nebo její náhodnou náhradu), což může uniknout vně. UUID v7 nabízí stejnou vlastnost časového řazení bez tohoto rizika a dnes je téměř vždy lepší volbou.

Je tenhle generátor UUID zdarma?

Ano. Veškeré generování probíhá ve vašem prohlížeči, nejsou tu žádné limity a nepotřebujete účet. Můžete generovat jednotlivá UUID zde nebo přejít na hromadný generátor až pro 500 najednou.

Téměř nepoužíváme cookies

Používáme pouze nezbytně nutné cookies, které zvyšují bezpečnost webu a zlepšují uživatelský zážitek. Nesledujeme vaše akce ani aktivitu.