Kigeuzi cha Bure

UUID / GUID Jenereta

Tengeneza thamani za UUID v4 (GUID) papo hapo kwenye kivinjari chako. Bure, ya faragha, na upande wa mteja - hakuna data iliyotumwa kwa seva yoyote.

Kuhusu zana hii

UUIDs (Vitambulisho vya Kipekee kwa Wote, pia huitwa GUIDs katika miktadha ya Microsoft) ni vitambulishi vya biti-128 ambavyo vinaweza kuzalishwa kivyake kwenye mifumo iliyo na uwezekano mdogo wa mgongano. Fomu ya kawaida ni herufi 32 za hex katika vikundi 8-4-4-4-12, ikitenganishwa na vistari (550e8400-e29b-41d4-a716-446655440000). Matoleo mengi yapo na mikakati tofauti ya kizazi; v4 (nasibu) ndiyo inayojulikana zaidi.

v4 UUIDs hupata upekee wao kutoka kwa biti 122 za nasibu (biti sita zimewekwa kwa toleo na lahaja). Uwezekano wa mgongano ni mdogo sana hivi kwamba kwa madhumuni ya kiutendaji UUID zinaweza kuchukuliwa kuwa za kipekee duniani kote bila uratibu - mifumo miwili inayozalisha UUID kwa kujitegemea haitazalisha nakala zaidi ya kipimo cha muda halisi.

Jenereta hii hutoa UUID za v4 katika umbizo la kawaida la hex-with-hyphens. Nasibu hutoka kwa jenereta ya nambari nasibu iliyo salama kwa njia fiche ya kivinjari (window.crypto.getRandomValues), inayofaa kwa madhumuni nyeti kwa usalama. Uzalishaji wa wingi unaweza kutumika kwa ajili ya kujaza vijaribio au hifadhidata za mbegu.

Kwa nini Unda UUID

UUID huruhusu mifumo iliyosambazwa kuzalisha vitambulisho bila kuratibu na hifadhidata kuu. Kila huduma inaweza kutoa vitambulisho ndani ya nchi bila kwenda na kurudi kwenye kaunta, na vitambulisho vinavyopatikana vinahakikishwa visigongane na vitambulisho vinavyotengenezwa kwingine. Hii inawezesha usanifu wa hali ya juu ambapo utengenezaji wa vitambulisho sio kizuizi.

UUID pia hufanya vitambulisho visiwezekane. Taarifa za uvujaji wa nambari zinazofuatana - jumla ya idadi ya watumiaji, umri wa akaunti, kasi ya kujisajili. UUID hazionyeshi chochote. API zinazofichua vitambulisho kwa watumiaji hunufaika kutoka kwa UUID kwa usalama na kwa utangamano wa mbele na sehemu za nyuma zilizoshirikiwa.

Jinsi ya kutumia

Bofya toa, pata UUID ya v4.

  1. Chagua hesabu: Tengeneza UUID moja kwa wakati mmoja, au toa kwa wingi hadi elfu kadhaa kwa ajili ya kujaza data ya jaribio.
  2. Chagua umbizo: Umbizo la kawaida lenye vistari (550e8400-e29b-41d4-a716-446655440000) ndilo chaguo-msingi. Vibadala vilivyobanana (hakuna vistari), herufi kubwa, na viziada {550e8400-...} pia vinatolewa.
  3. Tengeneza: Crypto.randomUUID() ya kivinjari (au njia mbadala ya v4 kwa kutumia crypto.getRandomValues) hutoa UUID mpya. Kila kizazi ni huru na kisichoamua.
  4. Nakili au pakua: Nakili UUID moja kwenye ubao wa kunakili au pakua orodha nyingi kama maandishi au CSV.

Kesi za Matumizi ya Kawaida

Maelezo ya Kiufundi

UUID ni biti 128, zinazoonyeshwa kama tarakimu 32 za heksadesimali katika vikundi vitano vilivyotenganishwa na vistari. Kundi (8-4-4-4-12) ni mapambo tu; thamani ni nambari kamili ya biti 128. v4 UUIDs husimba biti 122 za nasibu na biti 6 zilizosalia zikiwa zimesawazishwa: uga wa toleo (biti 4, thamani 4) hutambulisha lahaja.

Usaidizi wa kivinjari: crypto.randomUUID() inapatikana katika vivinjari vya kisasa (Chrome 92+, Firefox 95+, Safari 15.4+) na hutoa UUID za v4 moja kwa moja. Vivinjari vya zamani vinarudi kwenye kuchanganya kwa mikono baiti 16 nasibu kutoka kwa crypto.getRandomValues ​​na vijisehemu vya toleo/lahaja vilivyowekwa ipasavyo.

Uwezekano wa mgongano: kwa UUID 2^122 zinazowezekana nasibu, uwezekano wa kuzalisha thamani mbili zinazofanana hauwezekani. Hata kwa UUID 10^9 zinazozalishwa, uwezekano wa mgongano mmoja ni karibu 10^-18 - uwezekano wa takriban trilioni 10 kuliko kuokota atomi Duniani bila mpangilio.

Mazoea Bora

Maswali yanayoulizwa mara kwa mara

UUID ni nini?
UUID (Kitambulisho cha Kipekee kwa Wote) ni lebo ya biti 128 inayotumiwa kutambua maelezo ya kipekee bila uratibu kati ya wahusika. v4 UUID inaonekana kama: 550e8400-e29b-41d4-a716-446655440000. Imehakikishwa kuwa ya kipekee katika mifumo yote ulimwenguni.
UUID mbili zitawahi kuwa sawa?
Kinadharia inawezekana lakini kivitendo haiwezekani. UUID v4 ina 2^122 thamani zinazowezekana (5.3 × 10^36). Utahitaji kuzalisha UUID bilioni 1 kwa sekunde kwa miaka 100 ili kuwa na uwezekano wa 50% wa mgongano mmoja.
Ni lini ninapaswa kutumia UUID dhidi ya vitambulisho vya kuongeza kiotomatiki?
UUID ni bora kwa mifumo iliyosambazwa, programu za nje ya mtandao kwanza, na wakati hutaki vitambulisho vionyeshe maelezo (kama vile idadi ya watumiaji). Kuongeza otomatiki ni rahisi, kushikana zaidi, na haraka zaidi kwa uorodheshaji wa hifadhidata.
Je, UUID hizi ni salama kificho?
Zana hii hutumia crypto.getRandomValues() ambayo hutoa nambari nasibu zilizo salama kwa siri. UUID v4 inafaa kwa tokeni za kipindi na vitambulishi, lakini kwa programu zenye usalama wa juu, zingatia jenereta za tokeni zilizoundwa kwa makusudi.
Vipi kuhusu UUID v5 au v7?
v5 hupata UUID kwa kubainisha kutoka kwa jina lililo ndani ya nafasi ya majina (muhimu kwa vitambulisho vinavyoweza kushughulikiwa na maudhui). v7 (mpya zaidi, 2022) viambishi awali muhuri wa muda wa milisekunde kwa upangaji wa saa wa leksikografia. Jenereta hii inazingatia v4; matoleo maalum yanaweza kuongezwa ikiwa inahitajika.
Je, UUID ni nyeti kwa kadiri?
Kwa kubainisha, hapana - herufi kubwa na ndogo hex ni sawa. Jenereta nyingi huzalisha herufi ndogo kwa chaguo-msingi. Ulinganisho unapaswa kuwa usiojali kesi.
Je, utayarishaji umekamilika kwenye kivinjari changu?
Ndiyo. UUID huzalishwa kwa upande wa mteja kwa kutumia API za crypto za kivinjari.
Je! ninaweza kupanga UUID kwa wakati wa uundaji?
Sio kwa v4 - muundo wa nasibu hauna wakati wa kuagiza. Kwa UUID zinazoweza kupangwa kwa wakati tumia v7 (au v1 ya awali ikiwa unakubali athari za faragha).