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.
| Verze | Vytvořeno z | Příklad |
|---|---|---|
| v1 | Gregoriánské časové razítko + ID uzlu (MAC) | c232ab00-9414-11ec-b3c8-9f6bdeced846 |
| v3 | Hash MD5 jmenného prostoru + jména | 5df41881-3aed-3515-88a7-2f4a814cf09e |
| v4 | 122 náhodných bitů | 919108f7-52d1-4320-9bac-f847db4148a8 |
| v5 | Hash SHA-1 jmenného prostoru + jména | 2ed6657d-e927-568b-95e1-2665a8aea6a2 |
| v6 | Časové razítko v1 přeuspořádané tak, aby se ID řadila podle času | 1ec9414c-232a-6b00-b3c8-9f6bdeced846 |
| v7 | Milisekundy Unix + náhodné bity, řaditelné | 017f22e2-79b0-7cc3-98c4-dc0c0c07398f |
| v8 | Vlastní 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í.