UUID v4
Atsitiktinis UUID, pagrįstas atsitiktiniais baitais (RFC 4122).
UUID v7
Pagal laiką surūšiuotas UUID su milisekundžių tikslumu (RFC 9562).
Kas yra UUID?
UUID (visuotinai unikalus identifikatorius) — tai 128 bitų identifikatorius, užrašomas kaip 32 šešioliktainiai skaitmenys penkiose grupėse, atskirtose brūkšnelių, pavyzdžiui, 3f2504e0-4f89-41d3-9a0c-0305e82c3301. UUID sukurti būti unikalūs be centrinio registro — skirtingos mašinos, paslaugos ir duomenų bazės gali generuoti ID nepriklausomai ir praktiškai niekada nesusidurti.
4 versijos UUID sudaromi iš atsitiktinių bitų, todėl 122 iš 128 bitų iš tikrųjų yra atsitiktiniai. 7 versija, standartizuota RFC 9562, pradiniuose bituose įterpia Unix milisekundžių laiko žymą, todėl identifikatoriai rikiuojasi pagal sukūrimo laiką, išlikdami globaliai unikalūs — puikiai tinka duomenų bazės pirminiam raktui. Pavyzdžiui, 3f2504e0-4f89-41d3-9a0c-0305e82c3301 13-as šešioliktainis skaitmuo (4) žymi 4 versiją, o 17-as (9) nustato RFC 4122 variantą.
Kaip naudotis UUID generatoriumi
- Pasirinkite versiją: UUID v4 grynam atsitiktinumui arba UUID v7 pagal laiką rikiuojamiems ID.
- Paspauskite „Generuoti“, kad sukurtumėte naują identifikatorių — galite generuoti kiek norite.
- Paspauskite „Kopijuoti“, kad UUID iškart atsidurtų iškarpinėje.
- „Išvalyti“ atstato rezultatą, o versijų puslapiai perjungia tarp v4 ir v7.
Dažnai užduodami klausimai apie UUID
Ar naudoti UUID v4, ar v7?
Naudokite v7, jei ID bus duomenų bazės raktai: kadangi priešdėlis yra laiko žyma, įrašymai lieka indekso pabaigoje ir išvengiama puslapių fragmentacijos, kurią sukelia atsitiktinės v4 vertės. v4 tinka, kai reikia tiesiog atsitiktinio, nepermatomo identifikatoriaus ir tvarka nesvarbi.
Ar UUID tikrai unikalūs?
v4 atveju susidūrimo tikimybė yra nykstamai maža: norint pasiekti 50 % tikimybę, reikėtų sugeneruoti apie 2,7 x 10^18 UUID. v7 atveju unikalumą toje pačioje milisekundėje garantuoja atsitiktinis skaitiklis.
Ar UUID galima naudoti kaip paslaptis?
Ne. UUID v4 yra nenuspėjamas, tačiau tai nėra kriptografiškai stipri paslaptis. API raktams, sesijoms ir slaptažodžio atkūrimo nuorodoms naudokite tikrą atsitiktinių tokenų generatorių (bent 128 bitai iš CSPRNG).
Ar šie UUID generuojami jūsų serveryje?
Ne. Generatorius naudoja naršyklės saugų atsitiktinumo šaltinį crypto.getRandomValues(), todėl identifikatoriai sukuriami jūsų įrenginyje ir niekur neperduodami bei neįrašomi.
Kuo skiriasi GUID ir UUID?
Tai tas pats. GUID (Globally Unique Identifier) yra Microsoft pavadinimas UUID formatui; abu naudoja tą pačią 128 bitų struktūrą, apibrėžtą RFC 4122 ir RFC 9562.
