Utilia

UUID generatorius

Nemokamas UUID generatorius v4 ir v7 versijoms. Sukurk iki 1000 iškart, didžiosiomis raidėmis ar be brūkšnelių, tada nukopijuok arba atsisiųsk kaip .txt.

Versija

Kaip naudotis UUID generatoriumi

  1. Pasirink UUID versiją: v4 (atsitiktinis) visiškai atsitiktiniams identifikatoriams arba v7 (pagal laiką) pagal laiką surikiuotiems identifikatoriams.
  2. Įvesk, kiek UUID tau reikia, nuo 1 iki 1000.
  3. Jei nori, įjunk Didžiosios raidės išvestį arba išjunk Brūkšneliai, jei sistema, į kurią juos dedi, tikisi kompaktiškos 32 simbolių formos.
  4. Sugeneruok, tada nukopijuok sąrašą į iškarpinę arba Atsisiųsti kaip .txt failą su vienu UUID eilutėje.

Kas yra UUID?

UUID (Universally Unique Identifier), Microsoft pasaulyje dar vadinamas GUID, yra 128 bitų reikšmė, naudojama kažkam identifikuoti nereikalaujant centrinės institucijos, kuri dalytų numerius. Jis paprastai rašomas kaip 32 šešioliktainiai skaitmenys penkiose grupėse, atskirtose brūkšneliais, pagal šabloną 8-4-4-4-12, pavyzdžiui, f47ac10b-58cc-4372-a567-0e02b2c3d479. Pirmasis trečios grupės skaitmuo yra versija, o pirmasis ketvirtos grupės skaitmuo koduoja variantą (8, 9, a ar b standartiniams UUID).

Kadangi bet kuris kompiuteris gali nepriklausomai sukurti UUID su nereikšminga susidūrimo tikimybe, UUID plačiai naudojami kaip duomenų bazių pirminiai raktai, užklausų ir koreliacijos ID žurnaluose, įkeliamų failų pavadinimai, API idempotentumo raktai ir identifikatoriai paskirstytose sistemose, kuriose keli serveriai kuria įrašus tuo pačiu metu.

4 ir 7 versijos

Abi versijos apibrėžtos RFC 9562, 2024 m. standarte, pakeitusiame RFC 4122.

UUID v4 yra beveik visiškai atsitiktinis: 122 iš jo 128 bitų gaunami iš atsitiktinių skaičių generatoriaus, o likę 6 bitai laiko versiją ir variantą. Jis neatskleidžia nieko apie tai, kada ar kur buvo sukurtas. Susidūrimo tikimybė tokia maža, kad vieno dublikato vieno iš milijardo tikimybei pasiekti reikėtų sugeneruoti maždaug 103 trilijonus v4 UUID. Rinkis v4, kai nori neskaidrių identifikatorių, kuriuose nėra jokios informacijos.

UUID v7 prasideda 48 bitų Unix laiko žyma milisekundėmis, po kurios eina versija, variantas ir 74 atsitiktiniai bitai. Todėl vėliau sugeneruoti v7 UUID rūšiuojasi po anksčiau sugeneruotų. Tai labai svarbu duomenų bazėms: atsitiktiniai v4 raktai įterpiami išbarstytose B-medžio indekso vietose, o tai sukelia puslapių skaidymą ir prastą talpyklos lokalumą, o v7 raktai pridedami arti pabaigos, labai panašiai kaip automatiškai didėjantis sveikasis skaičius. Rinkis v7 pirminiams raktams ir viskam, ką nori rūšiuoti pagal sukūrimo laiką. Atmink, kad iš v7 UUID galima perskaityti sukūrimo laiką, todėl venk jo, kai ši laiko informacija jautri.

Atsitiktinumas ir saugumas

Šis įrankis naudoja naršyklės kriptografiškai saugų atsitiktinių skaičių generatorių (Web Crypto API), o ne Math.random(), kuris nėra skirtas būti nenuspėjamas. UUID generuojami vietoje tavo įrenginyje ir niekada nesiunčiami serveriui ar jo neįrašomi, todėl niekas kitas niekada nemato tavo sukurtų reikšmių.

Vis dėlto UUID yra identifikatorius, o ne paslaptis. Nesiremk vien neatspėjamu UUID privačiam dokumentui ar slaptažodžio atkūrimo nuorodai apsaugoti; derink jį su tinkamu autentifikavimu ir galiojimo laiku.

Formatavimo nustatymai

Kanoninė forma yra mažosiomis raidėmis su brūkšneliais, ir RFC 9562 rekomenduoja išvestį mažosiomis raidėmis. Kai kurios sistemos, pavyzdžiui, senesni Windows įrankiai ar tam tikros duomenų bazės, GUID rodo didžiosiomis raidėmis, o kai kurie saugojimo formatai teikia pirmenybę 32 simbolių formai be brūkšnelių. Abu nustatymai keičia tik teksto atvaizdą; pagrindinė 128 bitų reikšmė ta pati, o dauguma analizatorių priima visas šias formas.

Dažnai užduodami klausimai

Ar UUID unikalumas garantuotas?

Griežtai negarantuotas, bet susidūrimo tikimybė su tinkamai sugeneruotais atsitiktiniais bitais tokia maža, kad praktiškai jos galima nepaisyti. Tikroji rizika kyla dėl sugedusių atsitiktinių generatorių ar reikšmių kopijavimo ranka, o ne dėl formato.

Ar kaip duomenų bazės pirminį raktą rinktis UUID v4, ar v7?

Daugumai naujų projektų geresnis pasirinkimas yra v7: indeksai išlieka kompaktiški, o įterpimas greitas, nes reikšmės ateina maždaug didėjančia tvarka. Naudok v4, jei nenori, kad sukūrimo laikas būtų matomas identifikatoriuje.

Ar GUID yra tas pats, kas UUID?

Taip. GUID yra pavadinimas, kurį Microsoft naudoja tam pačiam 128 bitų formatui. GUID iš .NET ar SQL Server yra pakeičiamas UUID iš kitų platformų.

Ar du v7 UUID, sukurti tą pačią milisekundę, gali susidurti?

Jie turi tą pačią laiko žymos priešdėlio dalį, bet likę 74 atsitiktiniai bitai daro susidūrimą nepaprastai mažai tikėtiną. Per tą pačią milisekundę jų santykinė tvarka nebūtinai sutampa su tikslia sukūrimo tvarka.

Kodėl brūkšneliai neprivalomi?

Brūkšneliai skirti tik skaitomumui. Juos pašalinus gaunama 32 simbolių šešioliktainė eilutė, vaizduojanti lygiai tą pačią reikšmę, kurią teikia kai kurios API ir saugojimo formatai.