UltKit

Generátor UUID

Vytvářejte náhodné UUID verze 4, jedno až sto najednou, a zkopírujte je jako seznam. Pocházejí z kryptograficky bezpečného generátoru náhodných čísel ve vašem prohlížeči. Kontrola vám u každého vloženého UUID zobrazí jeho verzi a variantu.

0 znaků · 0 slov · 0 řádků

Vše běží přímo v této záložce prohlížeče. Váš text se nikam nenahrává ani neukládá.

Verze UUID

Verze je první číslice třetí skupiny; varianta je zakódována v první číslici čtvrté skupiny (8, 9, a nebo b u UUID podle RFC). Příklady jsou testovací vektory z RFC 9562.

VerzeVytvořeno zPříklad
v1Gregoriánské časové razítko + ID uzlu (MAC)c232ab00-9414-11ec-b3c8-9f6bdeced846
v3Hash MD5 jmenného prostoru + jména5df41881-3aed-3515-88a7-2f4a814cf09e
v4122 náhodných bitů919108f7-52d1-4320-9bac-f847db4148a8
v5Hash SHA-1 jmenného prostoru + jména2ed6657d-e927-568b-95e1-2665a8aea6a2
v6Časové razítko v1 přeuspořádané tak, aby se ID řadila podle času1ec9414c-232a-6b00-b3c8-9f6bdeced846
v7Milisekundy Unix + náhodné bity, řaditelné017f22e2-79b0-7cc3-98c4-dc0c0c07398f
v8Vlastní rozvržení definované aplikací2489e9ad-2ee2-8e00-8ec9-32d5f69181c0

Co je UUID a jak ho číst

UUID (universally unique identifier, v softwaru Microsoftu nazývaný GUID) je 128bitové číslo zapsané jako 32 šestnáctkových číslic ve skupinách 8-4-4-4-12, například f47ac10b-58cc-4372-a567-0e02b2c3d479. Standardizovala ho v roce 2005 norma RFC 4122; v květnu 2024 ji nahradila norma RFC 9562, která zachovává staré verze a přidává tři nové. Dvě pozice jsou pevně dané: první číslice třetí skupiny je verze (čtyřka v 4372) a první číslice čtvrté skupiny určuje variantu, což je 8, 9, a nebo b u každého UUID, které dodržuje RFC.

Verze 4 vyplní zbývajících 122 bitů náhodnými daty. Tento prostor je tak velký, že byste jich museli vygenerovat zhruba 2,7 trilionu miliard (2,7 × 10¹⁸), abyste měli 50% šanci na jediný duplikát, a proto systémy vytvářejí ID verze v4 nezávisle na mnoha počítačích bez vzájemné koordinace. Tato stránka používá crypto.randomUUID, případně crypto.getRandomValues, pokud první chybí, a nikdy Math.random, jehož výstup není navržen jako nepředvídatelný. Volby Velká písmena a Bez pomlček mění jen formátování; hodnota zůstává stejná a většina parserů přijímá obě velikosti písmen.

v4, v7 a další verze

Verze 1 a 6 vznikají z časového razítka a ID uzlu, původně MAC adresy počítače, která prozrazuje, kde a kdy bylo ID vytvořeno. Verze 3 a 5 hashují jmenný prostor a jméno pomocí MD5 nebo SHA-1, takže stejný vstup vždy vrátí stejné UUID. Verze 8 je volné uspořádání pro vlastní schémata. Nejdůležitější novinkou je verze 7: začíná 48bitovým časovým razítkem Unix v milisekundách a zbytek vyplní náhodnými bity, takže se ID řadí podle času vytvoření.

Právě toto řazení je důvod, proč zvážit v7 pro primární klíče v databázi. Náhodné klíče v4 padají do celého indexu B-tree, štěpí stránky a s růstem tabulky zhoršují lokalitu cache, zatímco klíče v7 přicházejí zhruba vzestupně jako sloupec s automatickým číslováním a přesto je lze generovat bez centrálního čítače. Zvolte v4, když chcete ID, které neprozradí nic, ani čas vzniku; zvolte v7, když záleží na výkonu vkládání a řazení podle času. UUID je identifikátor, ne tajemství: pro hesla a API klíče použijte specializovaný generátor hesel. Další kodéry a kontrolní nástroje najdete v nástrojích pro vývojáře.

Často kladené otázky

Mohou být dvě náhodně vygenerovaná UUID někdy stejná?
Teoreticky ano, prakticky ne. Při 122 náhodných bitech by ani miliarda UUID v4 za sekundu po dobu zhruba 86 let nedala víc než asi 50% šanci na jednu kolizi, pokud je zdroj náhody v pořádku.
Jaký je rozdíl mezi UUID a GUID?
Věcně žádný. GUID je název téhož 128bitového identifikátoru používaný společností Microsoft. Některé nástroje Microsoftu zobrazují GUID velkými písmeny nebo ve složených závorkách, což zdejší kontrola přijímá.
Jak zjistím, o jakou verzi UUID jde?
Podívejte se na první číslici třetí skupiny: 4 znamená náhodné, 7 řazené podle času, 1 časové razítko plus uzel. Vložte ho do nástroje Zkontrolovat UUID a uvidíte verzi i variantu.
Mám pro klíče v databázi použít UUIDv7 místo v4?
Často ano. Klíče v7 jsou řazené podle času, takže indexy B-tree zůstávají kompaktní a vkládání rychlé. U verze v4 zůstaňte, pokud má čas vytvoření obsažený v ID v7 zůstat soukromý.
Je bezpečné použít UUID jako token pro obnovení hesla?
UUID v4 z bezpečného generátoru má 122 náhodných bitů, což stačí k tomu, aby ho nešlo uhodnout, ale mnoho knihoven nabízí specializované funkce pro tokeny s výslovnou expirací. Verze založené na čase, například v1 nebo v7, nikdy nepoužívejte jako tajemství.