Ką sudaro UUID v4
UUID v4 yra 128 bitų identifikatorius, beveik visas sudarytas iš atsitiktinių baitų. Jo 32 šešioliktainiai skaitmenys sugrupuoti kaip 8-4-4-4-12, o du nibble yra fiksuoti: 13-as skaitmuo visada yra 4 (versija), o 17-as — 8, 9, a arba b (variantas). Likę 122 bitai yra atsitiktiniai, todėl įrenginiai gali savarankiškai kurti identifikatorius ir praktiškai niekada nesusidurti.
Pavyzdys: 9f1c2a74-8b3e-4d6f-9a01-2c5e7b8d4f10. Pirmieji 12 skaitmenų yra atsitiktiniai, skaitmuo 4 13-oje pozicijoje žymi 4 versiją, skaitmuo 9 17-oje pozicijoje žymi variantą, o paskutiniai 30 skaitmenų taip pat atsitiktiniai. Kadangi kiekvienas bitas atsitiktinis, v4 nieko nereiškia ir rikiuojasi savavališkai — tai idealu seansų ID, užklausų ID ir failų pavadinimams, bet netinka duomenų bazės pirminiam raktui, kur atsitiktinė tvarka suskaido indeksą.
Kaip sukurti UUID v4
- Spausk „Generuoti“, kad iš karto gautum naują atsitiktinį UUID v4.
- Nukopijuok reikšmę kopijavimo mygtuku ir sukurk tiek, kiek reikia.
- Įklijuok identifikatorių į konfigūraciją, duomenų bazės eilutę ar API užklausą.
- Reikia rikiuojamų ID? Pereik į UUID v7 puslapį.
UUID v4 — dažnai užduodami klausimai
Ar UUID v4 garantuotai unikalus?
Nė vienas identifikatorius nėra matematiškai garantuotai unikalus, tačiau praktiškai v4 yra unikalus: norint pasiekti 50 % tikimybę vienam sutapimui, prireiktų maždaug 2,7 × 10^18 reikšmių.
Ar UUID v4 galima naudoti kaip API raktą?
Ne. Jis atsitiktinis, bet nėra kriptografinė paslaptis, skirta šiam vaidmeniui. Tam naudok specialų raktų generatorių su bent 128 bitais iš CSPRNG.
Kodėl mano v4 kiekvieną kartą kitoks?
Būtent taip ir turi būti: kiekvienas generavimas paima naujus atsitiktinius baitus, todėl reikšmės nesikartoja ir dėsningumo nustatyti neįmanoma.
Veikia visiškai naršyklėje per crypto.getRandomValues(): UUID sugeneruojami tavo įrenginyje ir niekada nesiunčiami į serverį.
