UUID
Generátor UUID
Generujte náhodná UUID verze 4.
O UUID
UUID (Universally Unique Identifier) je 128bitová hodnota, téměř vždy zobrazená jako 32 hexadecimálních číslic v pěti skupinách oddělených pomlčkami. UUID verze 4 se generuje z náhodných bitů, takže dvě nezávisle vygenerovaná UUID se v praxi nikdy neshodují.
Verze 4, generovaná zde, je jen jednou z několika aktivně používaných verzí UUID. Verze 1 kóduje MAC adresu generujícího stroje a časovou značku — užitečné pro řazení, ale prozrazuje informace, které náhodné ID neprozradí. Verze 3 a 5 jsou deterministické hashe jmenného prostoru a jména, takže stejné vstupy vždy vytvoří stejné UUID, což je užitečné pro identifikátory adresované podle obsahu. Novější verze 7 vkládá do úvodních bitů časovou značku v milisekundách přesně proto, aby se UUID řadila chronologicky — což čistá náhodnost verze 4 nikdy nedokáže.
Kde se s tím setkáte
- Primární klíče pro řádky databáze, které nemusí být sekvenční
- Idempotenční klíče pro API požadavky
- Jedinečné identifikátory pro relace, požadavky nebo události v distribuovaných systémech
- Anonymní identifikátory, které na rozdíl od automaticky inkrementovaných ID neprozrazují pořadí vytvoření
Často kladené otázky
Mohou dvě vygenerovaná UUID někdy kolidovat?
Teoreticky ano, v praxi ne — UUID verze 4 mají 122 náhodných bitů, takže pravděpodobnost kolize je nepatrná i u miliard ID.
Lze UUID seřadit podle času vytvoření?
Verze 4 ne. Pokud potřebujete ID seřaditelná podle času, podívejte se na časově uspořádané alternativy jako UUIDv7 nebo ULID.
Je v UUID zakódováno něco tajného?
Ne, UUID v4 jsou jen náhodné bity — nekóduje server, uživatele ani čas, který je vygeneroval.
Proč nepoužít prostě UUIDv1 nebo novější UUIDv7?
Různé verze mění různé vlastnosti. UUIDv4, které tento nástroj generuje, je čistá náhodnost bez pořadí a bez vložené informace — správná volba, když si výslovně nepřejete, aby ID prozrazovalo, kdy nebo kde vzniklo. UUIDv1 vkládá časovou značku a MAC adresu; UUIDv7 vkládá jen časovou značku, což dává ID řazená podle času vzniku, což databáze indexují mnohem efektivněji než náhodné hodnoty v4. Zvolte v7, pokud záleží na výkonu při vkládání podle pořadí a nevadí prozradit čas vzniku.