Generátor UUID
Vytvárajte náhodné UUID verzie 4, od jedného po sto naraz, a skopírujte ich ako zoznam. Pochádzajú z kryptograficky bezpečného generátora náhodných čísel vo vašom prehliadači a kontrola vám prezradí verziu a variant ľubovoľného vloženého UUID.
0 znakov · 0 slov · 0 riadkov
Všetko prebieha priamo v tejto karte prehliadača. Váš text sa nikdy nenahráva ani neukladá.
Verzie UUID
Verzia je prvá číslica tretej skupiny; variant je zakódovaný v prvej číslici štvrtej skupiny (8, 9, a alebo b pri UUID podľa RFC). Príklady sú testovacie vektory z RFC 9562.
| Verzia | Vytvorené z | Príklad |
|---|---|---|
| v1 | Gregoriánska časová pečiatka + ID uzla (MAC) | c232ab00-9414-11ec-b3c8-9f6bdeced846 |
| v3 | Hash MD5 z menného priestoru + názvu | 5df41881-3aed-3515-88a7-2f4a814cf09e |
| v4 | 122 náhodných bitov | 919108f7-52d1-4320-9bac-f847db4148a8 |
| v5 | Hash SHA-1 z menného priestoru + názvu | 2ed6657d-e927-568b-95e1-2665a8aea6a2 |
| v6 | Časová pečiatka v1 preusporiadaná tak, aby sa ID radili podľa času | 1ec9414c-232a-6b00-b3c8-9f6bdeced846 |
| v7 | Unixové milisekundy + náhodné bity, zoraditeľné | 017f22e2-79b0-7cc3-98c4-dc0c0c07398f |
| v8 | Vlastné rozloženie definované aplikáciou | 2489e9ad-2ee2-8e00-8ec9-32d5f69181c0 |
Čo je UUID a ako ho čítať
UUID (univerzálne jedinečný identifikátor, v softvéri od Microsoftu nazývaný GUID) je 128-bitové číslo zapísané ako 32 hexadecimálnych číslic v skupinách 8-4-4-4-12, napríklad f47ac10b-58cc-4372-a567-0e02b2c3d479. Štandardizovaný bol v RFC 4122 v roku 2005; v máji 2024 ho nahradil dokument RFC 9562, ktorý ponecháva staré verzie a pridáva tri nové. Dve pozície sú pevné: prvá číslica tretej skupiny je verzia (4 v 4372) a prvá číslica štvrtej skupiny určuje variant, ktorým je 8, 9, a alebo b pri každom UUID zodpovedajúcom RFC.
Verzia 4 vypĺňa zvyšných 122 bitov náhodnými údajmi. Tento priestor je taký veľký, že na 50 % pravdepodobnosť jediného duplikátu by ste museli vygenerovať približne 2,7 triliardy (2,7 × 10¹⁸) identifikátorov, preto systémy vytvárajú ID v4 nezávisle na mnohých strojoch bez koordinácie. Táto stránka používa crypto.randomUUID, alebo crypto.getRandomValues tam, kde chýba, nikdy Math.random, ktorého výstup nie je navrhnutý ako nepredvídateľný. Možnosti Veľké písmená a Bez pomlčiek menia iba formátovanie; hodnota zostáva rovnaká a väčšina parserov akceptuje obe veľkosti písmen.
v4, v7 a ďalšie verzie
Verzie 1 a 6 vznikajú z časovej pečiatky a ID uzla, pôvodne MAC adresy počítača, čo prezrádza, kde a kedy bolo ID vytvorené. Verzie 3 a 5 hashujú menný priestor a názov pomocou MD5 alebo SHA-1, takže rovnaký vstup vždy dá rovnaké UUID. Verzia 8 je voľné rozloženie pre vlastné schémy. Najdôležitejším nováčikom je verzia 7: začína 48-bitovou unixovou časovou pečiatkou v milisekundách a zvyšok dopĺňa náhodnými bitmi, takže ID sa radia podľa času vzniku.
Práve toto radenie je dôvod zvážiť v7 pre primárne kľúče databázy. Náhodné kľúče v4 pristávajú po celom indexe B-tree, rozdeľujú stránky a so rastom tabuľky zhoršujú lokalitu cache, zatiaľ čo kľúče v7 prichádzajú približne vzostupne ako stĺpec s automatickým prírastkom, a pritom sa dajú generovať bez centrálneho počítadla. v4 zvoľte, keď chcete ID, ktoré neprezrádza nič, ani čas vzniku; v7 zvoľte, keď záleží na výkone vkladania a časovom poradí. UUID je identifikátor, nie tajomstvo: na heslá a tajné kľúče API použite samostatný generátor hesiel. Ďalšie kodéry a kontrolné nástroje nájdete v nástrojoch pre vývojárov.
Často kladené otázky
- Môžu byť dve náhodne vygenerované UUID niekedy rovnaké?
- Teoreticky áno, prakticky nie. So 122 náhodnými bitmi by ani miliarda UUID v4 za sekundu počas približne 86 rokov nedala viac než približne 50 % šancu na jednu kolíziu, ak je zdroj náhody v poriadku.
- Aký je rozdiel medzi UUID a GUID?
- V podstate žiadny. GUID je názov spoločnosti Microsoft pre ten istý 128-bitový identifikátor. Niektoré nástroje Microsoftu zobrazujú GUID veľkými písmenami alebo v zložených zátvorkách, čo tunajšia kontrola akceptuje.
- Ako zistím, akej verzie je UUID?
- Pozrite sa na prvú číslicu tretej skupiny: 4 znamená náhodné, 7 časovo usporiadané, 1 časová pečiatka plus uzol. Vložte ho do kontroly UUID a zobrazí sa verzia a variant.
- Mám pre kľúče v databáze použiť UUIDv7 namiesto v4?
- Často áno. Kľúče v7 sú časovo usporiadané, vďaka čomu sú indexy B-tree kompaktné a vkladanie rýchle. Pri v4 zostaňte, ak má čas vzniku vložený v ID v7 zostať súkromný.
- Je bezpečné použiť UUID ako token na obnovenie hesla?
- UUID v4 zo zabezpečeného generátora má 122 náhodných bitov, čo stačí na to, aby sa nedalo uhádnuť, no mnohé knižnice ponúkajú špeciálne funkcie pre tokeny s explicitnou expiráciou. Verzie založené na čase, ako v1 alebo v7, nikdy nepoužívajte ako tajomstvá.