Teknobench

Generatur ta’ UUID

Generatur ta’ UUID b’xejn għal verżjonijiet 4 u 7. Oħloq sa 1,000 f’daqqa, b’ittri kapitali jew mingħajr hyphens, imbagħad ikkopja jew niżżel bħala .txt.

Verżjoni

Kif tuża l-generatur ta’ UUID

  1. Agħżel il-verżjoni tal-UUID: v4 (każwali) għal identifikaturi kompletament każwali jew v7 (f’ordni taż-żmien) għal identifikaturi f’ordni taż-żmien.
  2. Daħħal kemm UUIDs teħtieġ, minn 1 sa 1,000.
  3. Jekk trid, ixgħel l-output b’Ittri kapitali jew neħħi l-Hyphens jekk is-sistema li se tpoġġihom fiha tistenna l-forma kompatta ta’ 32 karattru.
  4. Agħfas Iġġenera, imbagħad ikkopja l-lista fil-clipboard tiegħek jew niżżilha bħala fajl .txt b’UUID wieħed f’kull linja.

X’inhu UUID?

UUID (Universally Unique Identifier), magħruf ukoll bħala GUID fid-dinja ta’ Microsoft, huwa valur ta’ 128 bit użat biex jidentifika xi ħaġa mingħajr il-ħtieġa ta’ awtorità ċentrali li tqassam in-numri. Normalment jinkiteb bħala 32 ċifra eżadeċimali f’ħames gruppi separati b’hyphens, fil-mudell 8-4-4-4-12, per eżempju f47ac10b-58cc-4372-a567-0e02b2c3d479. L-ewwel ċifra tat-tielet grupp hija l-verżjoni, u l-ewwel ċifra tar-raba’ grupp tikkodifika l-varjant (8, 9, a jew b għal UUIDs standard).

Peress li kwalunkwe kompjuter jista’ joħloq UUID b’mod indipendenti b’ċans negliġibbli ta’ kolliżjoni, l-UUIDs jintużaw ħafna bħala primary keys ta’ databases, IDs ta’ talbiet u korrelazzjoni fil-logs, ismijiet ta’ fajls għat-tlugħ, idempotency keys għall-APIs, u identifikaturi f’sistemi mqassma fejn diversi servers joħolqu rekords fl-istess ħin.

Verżjoni 4 kontra verżjoni 7

Iż-żewġ verżjonijiet huma definiti fl-RFC 9562, l-istandard tal-2024 li ssostitwixxa l-RFC 4122.

UUID v4 huwa kważi kollu każwali: 122 mit-128 bit tiegħu jiġu minn ġeneratur każwali, u s-6 bits li jifdal iżommu l-verżjoni u l-varjant. Ma jiżvela xejn dwar meta jew fejn inħoloq. Iċ-ċans ta’ kolliżjoni huwa tant żgħir li jkollok bżonn tiġġenera madwar 103 triljun UUID v4 biex tilħaq probabbiltà ta’ wieħed fi biljun ta’ duplikat wieħed. Agħżel v4 meta tkun trid identifikaturi opaki li ma jġorru ebda informazzjoni.

UUID v7 jibda b’timestamp Unix ta’ 48 bit f’millisekondi, segwit mill-verżjoni, il-varjant u 74 bit każwali. Bħala riżultat, l-UUIDs v7 iġġenerati aktar tard jiġu wara dawk iġġenerati qabel. Dan huwa importanti ħafna għad-databases: iċ-ċwievet v4 każwali jiddaħħlu f’pożizzjonijiet mxerrdin f’indiċi B-tree, u jikkawżaw qsim ta’ paġni u lokalità ħażina tal-cache, filwaqt li ċ-ċwievet v7 jiżdiedu qrib l-aħħar, bħal numru sħiħ auto-increment. Agħżel v7 għal primary keys u għal kull ħaġa li trid tordna skont il-ħin tal-ħolqien. Żomm f’moħħok li l-ħin tal-ħolqien jista’ jinqara minn UUID v7, għalhekk evitah meta din l-informazzjoni tat-timing hija sensittiva.

Każwalità u sigurtà

Din l-għodda tuża l-ġeneratur tan-numri każwali kriptografikament sigur tal-brawżer (l-API Web Crypto), mhux Math.random(), li mhuwiex iddisinjat biex ma jistax jiġi mbassar. L-UUIDs jiġu ġġenerati lokalment fuq l-apparat tiegħek u qatt ma jintbagħtu lil server jew jiġu rreġistrati minnu, għalhekk ħadd ieħor ma jara l-valuri li toħloq.

Madankollu, UUID huwa identifikatur, mhux sigriet. Tiddependix fuq UUID li ma jistax jiġi mbassar biss biex tipproteġi dokument privat jew link tar-reset tal-password; għaqqdu ma’ awtentikazzjoni xierqa u skadenza.

Għażliet tal-format

Il-forma kanonika hija b’ittri żgħar b’hyphens, u l-RFC 9562 jirrakkomanda output b’ittri żgħar. Xi sistemi, bħal għodod eqdem ta’ Windows jew ċerti databases, juru l-GUIDs b’ittri kapitali, u xi formati ta’ ħażna jippreferu l-forma ta’ 32 karattru mingħajr hyphens. Iż-żewġ għażliet jibdlu biss ir-rappreżentazzjoni tat-test; il-valur ta’ 128 bit sottostanti huwa identiku, u l-biċċa l-kbira tal-parsers jaċċettaw dawn il-forom kollha.

Mistoqsijiet frekwenti

L-UUIDs huma garantiti li huma unika?

Mhux strettament garantiti, iżda l-probabbiltà ta’ kolliżjoni b’bits każwali ġġenerati kif suppost hija tant baxxa li tista’ tiġi injorata fil-prattika. Ir-riskji veri jiġu minn ġeneraturi każwali miksura jew mill-ikkupjar tal-valuri bl-idejn, mhux mill-format.

Għandi nuża UUID v4 jew v7 bħala primary key ta’ database?

Għall-biċċa l-kbira tal-proġetti l-ġodda, v7 hija l-aħjar għażla: iżomm l-indiċi kompatti u l-inserzjonijiet veloċi għax il-valuri jaslu f’ordni li bejn wieħed u ieħor tiżdied. Uża v4 jekk ma tridx li l-ħin tal-ħolqien jidher fl-identifikatur.

GUID huwa l-istess bħal UUID?

Iva. GUID huwa l-isem li Microsoft tuża għall-istess format ta’ 128 bit. GUID minn .NET jew SQL Server jista’ jinbidel ma’ UUID minn pjattaformi oħra.

Żewġ UUIDs v7 maħluqa fl-istess millisekonda jistgħu jaħbtu?

Jaqsmu l-istess prefiss tat-timestamp, iżda s-74 bit każwali li jifdal jagħmlu kolliżjoni estremament improbabbli. Fl-istess millisekonda, l-ordni relattiv tagħhom mhuwiex garantit li jaqbel mal-ordni eżatt tal-ħolqien.

Għaliex il-hyphens huma fakultattivi?

Il-hyphens huma hemm biss għal-leġibbiltà. Jekk tneħħihom tikseb string eżadeċimali ta’ 32 karattru li tirrappreżenta eżattament l-istess valur, li xi APIs u formati ta’ ħażna jippreferu.