UUID generatorius
Sugeneruokite atsitiktines UUID v4 reikšmes duomenų bazėms, API ar testavimui.
Kaip naudotis šiuo UUID generatoriumi
- 1 Nustatykite UUID skaičių
Lauke „UUID skaičius“ įveskite 1–10, kad nurodytumėte, kiek identifikatorių sugeneruoti.
- 2 Generuoti
Skaičiuoklė generuoja atsitiktines UUID v4 reikšmes naudodama naršyklės kriptografinį atsitiktinių skaičių šaltinį.
- 3 Kopijuoti rezultatą
Nukopijuokite sugeneruotą (-us) UUID naudojimui duomenų bazėse, API užklausose ar testų pavyzdžiuose.
Kaip veikia šis UUID generatorius
Šis įrankis generuoja 4 versijos UUID naudojant naršyklės atsitiktinumą. UUID v4 identifikatoriai yra 128 bitų reikšmės su nustatytais bitais, nurodančiais versiją (4) ir standartinį variantą, naudojamą šiuolaikinėse UUID specifikacijose. Naudojama crypto.randomUUID(), kai prieinama, kitu atveju – crypto.getRandomValues(); jei nė viena Web Crypto API neprieinama, įrankis praneša, kad UUID generavimas nepalaikomas, užuot generavęs silpnus identifikatorius.
UUID v4 = xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx (kur y ∈ {8,9,a,b}) Išvesties pavyzdys: 550e8400-e29b-41d4-a716-446655440000
Sugeneravus 1 UUID, gaunama viena reikšmė, pavyzdžiui, a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d. Skaičius 4 trečiojoje grupėje nurodo 4-ąją versiją.
Sugeneravus 3 UUID, gaunamos trys skirtingos reikšmės, kurių kiekviena turi 122 atsitiktinius bitus. Naudokite juos kaip pirminius raktus bandomiesiems įrašams arba API ištekliams.
- ✓ Naudoja naršyklės kriptografinių atsitiktinių skaičių API, kai ji prieinama.
- ✓ Nenaudoja Math.random(); jei Web Crypto neprieinama, generatorius praneša, kad UUID generavimas nepalaikomas.
- UUID v4 nėra nuoseklus ir netinka naudoti kaip rūšiuojamas pirminis raktas duomenų bazėse, kurioms naudingas tvarkingas įterpimas.
- RFC 9562 — Visuotinai unikalūs identifikatoriai (UUID) — UUID v4 formatas ir atsitiktinių bitų struktūra
- MDN — Crypto.randomUUID() — kriptografiškai saugus UUID generavimas naršyklėje
UUID versijų ir struktūros supratimas
UUID (Universally Unique Identifier) yra 128 bitų reikšmė, pateikiama kaip 32 šešioliktainiai skaitmenys penkiose grupėse (8-4-4-4-12). 4-osios versijos UUID naudoja atsitiktinius arba pseudoatsitiktinius duomenis 122 bitams; likę bitai nurodo versiją (4) ir variantą. Kolizijos tikimybė yra astronomiškai maža — apie 1 iš 2^122 — todėl UUID yra unikali be papildomo derinimo. Egzistuoja ir kitos versijos: v1 naudoja laiko žymą ir MAC adresą, v3 ir v5 yra vardinės maišos funkcijos (hashes), o v7 yra surikiuota pagal laiką. UUID v4 yra dažniausias pasirinkimas paskirstytoms sistemoms, nes jam generuoti nereikia centrinės institucijos ar bendros būsenos.
UUID naudojimo atvejai programuotojams
Programuotojai naudoja UUID kaip pirminius raktus duomenų bazėse, koreliacijos ID paskirstytame sekime ir unikalius identifikatorius API duomenų paketuose. Priešingai nei automatiškai didėjantys sveikieji skaičiai, UUID gali būti generuojami kliento pusėje arba bet kurioje tarnyboje nesikreipiant į centrinę duomenų bazę, o tai supaprastina horizontalųjį masteliavimą ir „offline-first“ architektūras. Jie idealiai tinka sujungimo scenarijams, kai kelios sistemos kuria įrašus, kurie vėliau sujungiami. UUID taip pat naudojami OAuth būsenos parametruose, „webhook“ parašuose ir failų pavadinimuose, siekiant išvengti kolizijų. Testavimo metu UUID generavimas pagal poreikį leidžia išvengti kietojo kodavimo ir padaro testų duomenis atkuriamus. Pagrindinis trūkumas yra dydis (36 simboliai) ir rūšiavimo galimybės trūkumas, lyginant su nuosekliais ID.
Dažniausiai užduodami klausimai
Ar šie UUID yra unikalūs? +
Praktiniais tikslais – taip. Tikimybė sugeneruoti dublikatą yra astronomiškai maža (1 iš 2^122).
Ar galiu juos naudoti gamybinėje aplinkoje? +
Taip, kai aplinka užtikrina Web Crypto atsitiktinumą. Jei Web Crypto neprieinama, įrankis praneša, kad UUID generavimas nepalaikomas, užuot kūręs saugiai atrodančius identifikatorius iš silpno atsitiktinumo.
Naudokite tai kaip sąmatą, o svarbius sprendimus derinkite su kvalifikuotu specialistu.
Įvesti duomenys lieka naršyklėje, nebent būsima funkcija aiškiai nurodys kitaip.
Susijusios skaičiuoklės
Išbandykite susijusias skaičiuokles, kad palygintumėte rezultatus ir prielaidas.
Epoch laiko konverteris
Konvertuokite Unix laiko žymas į UTC datas arba paverskite datą į epoch sekundes.
Skaičiavimo sistemų keitimo skaičiuoklė
Konvertuokite sveikąjį skaičių į dvejetainę, aštuntainę, dešimtainę ir šešioliktainę sistemas.
JSON formatuotojas
JSON validavimas ir formatavimas su struktūros analize.