Nemokamas konverteris

UUID / GUID Generatorius

Nedelsdami generuokite UUID v4 (GUID) reikšmes savo naršyklėje. Nemokama, privati ​​ir kliento pusė – jokie duomenys nesiunčiami į jokį serverį.

Apie šį įrankį

UUID (visuotiniai unikalūs identifikatoriai, Microsoft kontekste taip pat vadinami GUID) yra 128 bitų identifikatoriai, kuriuos galima generuoti nepriklausomai sistemose su nereikšminga susidūrimo tikimybe. Standartinę formą sudaro 32 šešioliktainiai simboliai 8-4-4-4-12 grupėse, atskirti brūkšneliais (550e8400-e29b-41d4-a716-446655440000). Yra kelios versijos su skirtingomis generavimo strategijomis; v4 (atsitiktinis) yra labiausiai paplitęs.

v4 UUID unikalumą lemia 122 atsitiktinumo bitai (versijai ir variantui nustatyti šeši bitai). Susidūrimo tikimybė yra tokia maža, kad praktiniais tikslais UUID gali būti laikomi unikaliais visame pasaulyje be koordinavimo – dvi sistemos, savarankiškai generuojančios UUID, nesukurs dublikatų per bet kokį realų laikotarpį.

Šis generatorius sukuria v4 UUID standartiniu šešioliktainiu ir brūkšnelių formatu. Atsitiktinumas gaunamas iš naršyklės kriptografiškai saugaus atsitiktinių skaičių generatoriaus (window.crypto.getRandomValues), tinkamo saugumo tikslams. Masinis generavimas palaikomas pildant bandymų fiksatorius arba sėjimo duomenų bazes.

Kodėl reikia generuoti UUID

UUID leidžia paskirstytoms sistemoms generuoti identifikatorius nederinant su centrine duomenų baze. Kiekviena paslauga gali sukurti ID vietoje be kelionių į prekystalį ir garantuojama, kad gauti ID nesusidurs su kitur sugeneruotais ID. Tai leidžia sumažinti architektūrą, kurioje ID generavimas nėra kliūtis.

Dėl UUID ID taip pat neįmanoma atspėti. Nuosekli skaitiniai ID nutekina informaciją – bendrą vartotojų skaičių, paskyros amžių, prisiregistravimo greitį. UUID nieko neatskleidžia. API, kurios atskleidžia ID naudotojams, turi naudos iš UUID tiek dėl saugumo, tiek dėl tolesnio suderinamumo su suskaidytomis sistemomis.

Kaip naudoti

Spustelėkite generuoti ir gaukite v4 UUID.

  1. Pasirinkite skaičių: Vienu metu generuokite vieną UUID arba masiškai generuokite iki kelių tūkstančių bandymų duomenims užpildyti.
  2. Pasirinkite formatą: Standartinis formatas su brūkšneliais (550e8400-e29b-41d4-a716-446655440000) yra numatytasis. Taip pat siūlomi kompaktiški (be brūkšnelių), didžiosiomis raidėmis ir su petnešomis {550e8400-...} variantai.
  3. Generuoti: Naršyklės crypto.randomUUID() (arba v4 atsarginis variantas, naudojant crypto.getRandomValues) sukuria naujus UUID. Kiekviena karta yra nepriklausoma ir nedeterministinė.
  4. Nukopijuokite arba atsisiųskite: Nukopijuokite atskirus UUID į mainų sritį arba atsisiųskite masinius sąrašus kaip tekstą arba CSV.

Įprasto naudojimo atvejai

Techninės detalės

UUID yra 128 bitų, rodomi kaip 32 šešioliktainiai skaitmenys penkiose grupėse, atskirtose brūkšneliais. Grupavimas (8-4-4-4-12) yra grynai kosmetinis; reikšmė yra vienas 128 bitų sveikasis skaičius. v4 UUID koduoja 122 atsitiktinumo bitus, o likusieji 6 bitai yra fiksuoti: versijos laukas (4 bitai, reikšmė 4) identifikuoja variantą.

Naršyklės palaikymas: crypto.randomUUID() pasiekiamas šiuolaikinėse naršyklėse (Chrome 92+, Firefox 95+, Safari 15.4+) ir tiesiogiai sukuria v4 UUID. Senesnėse naršyklėse galima rankiniu būdu sujungti 16 atsitiktinių baitų iš crypto.getRandomValues ​​su teisingai nustatytais versijos / varianto bitais.

Susidūrimo tikimybė: esant 2^122 galimiems atsitiktiniams UUID, tikimybė sugeneruoti dvi identiškas vertes yra nereikšminga. Net sugeneravus 10^9 UUID, vieno susidūrimo tikimybė yra maždaug 10^-18 – maždaug 10 trilijonų kartų mažesnė tikimybė, nei atsitiktinai pasirenkant atomą Žemėje.

Geriausia praktika

Dažnai užduodami klausimai

Kas yra UUID?
UUID (universaliai unikalus identifikatorius) yra 128 bitų etiketė, naudojama informacijai unikaliai identifikuoti, nederinant šalių. V4 UUID atrodo taip: 550e8400-e29b-41d4-a716-446655440000. Praktiškai garantuojama, kad jis bus unikalus visose pasaulio sistemose.
Ar du UUID kada nors bus vienodi?
Teoriškai įmanoma, bet praktiškai neįmanoma. UUID v4 turi 2^122 galimas vertes (5,3 × 10^36). Turėtumėte sukurti 1 milijardą UUID per sekundę 100 metų, kad būtų 50 % vieno susidūrimo tikimybė.
Kada turėčiau naudoti UUID ir automatinio didinimo ID?
UUID geriau tinka paskirstytoms sistemoms, neprisijungus veikiančioms programoms ir kai nenorite, kad ID atskleistų informaciją (pvz., vartotojų skaičių). Automatinis padidinimas yra paprastesnis, kompaktiškesnis ir greitesnis duomenų bazės indeksavimui.
Ar šie UUID yra kriptografiškai saugūs?
Šis įrankis naudoja crypto.getRandomValues(), kuris pateikia kriptografiškai saugius atsitiktinius skaičius. UUID v4 tinka seanso prieigos raktams ir identifikatoriams, tačiau didelio saugumo programoms apsvarstykite specialiai sukurtus prieigos raktų generatorius.
O kaip su UUID v5 arba v7?
v5 deterministiškai išveda UUID iš vardų erdvėje esančio pavadinimo (naudinga turinio adresuojamiems ID). v7 (naujesnė, 2022 m.) leksikografinei laiko tvarkai nustatyti priešdėliuoja milisekundės laiko žymą. Šis generatorius sutelkia dėmesį į v4; Jei reikia, galima pridėti konkrečias versijas.
Ar UUID skiriamos didžiosios ir mažosios raidės?
Pagal specifikaciją ne – didžiosios ir mažosios šešioliktainės raidės yra lygiavertės. Dauguma generatorių pagal numatytuosius nustatymus gamina mažąsias raides. Lyginant neturėtų būti skiriamos didžiosios ir mažosios raidės.
Ar generavimas atliktas mano naršyklėje?
Taip. UUID yra generuojami kliento pusėje naudojant naršyklės kriptovaliutų API.
Ar galiu rūšiuoti UUID pagal sukūrimo laiką?
Ne 4 versijai – atsitiktinė struktūra neturi laiko rikiuoti. Laiku rūšiuojamiems UUID naudokite v7 (arba ankstesnę v1 versiją, jei sutinkate su privatumo reiškiniais).