Teknobench

Generatur ta’ ULID u Nano ID

Iġġenera ULIDs (b’għażla monotonika) jew Nano IDs b’alfabett u tul personalizzati, bil-lott, iddekodifika timestamp ta’ ULID u iċċekkja r-riskju ta’ kolliżjoni.

Tip ta’ ID

Iddekodifika ULID

Kif tiġġenera ULIDs jew Nano IDs

  1. Taħt Tip ta’ ID, agħżel ULID (jista’ jiġi ordnat) jew Nano ID (qasir).
  2. Issettja Kemm (1 sa 1,000). Għaxar IDs jiġu ġġenerati hekk kif titgħabba l-paġna.
  3. Għall-ULIDs, żomm Monotoniku (jiżdied strett) immarkat biex IDs maħluqa fl-istess millisekonda xorta jiġu f’ordni, u immarka Ittri żgħar jekk is-sistema tiegħek tippreferi hekk.
  4. Għan-Nano IDs, agħżel Alfabett (jew Personalizzat… u ikteb il-karattri tiegħek) u Tul.
  5. Ikklikkja Iġġenera, imbagħad Ikkopja il-lista jew Niżżel (ID waħda f’kull linja).

Biex taqra d-data moħbija f’ULID, waħħlu taħt Iddekodifika ULID jew ikklikkja Iddekodifika l-ewwel ID. L-għodda turi t-timestamp f’UTC (ISO 8601), fil-ħin lokali tiegħek, bħala millisekondi Unix, u l-parti każwali ta’ 80 bit f’eżadeċimali.

X’inhu ULID?

ULID (Universally Unique Lexicographically Sortable Identifier) huwa identifikatur ta’ 128 bit miktub bħala 26 karattru ta’ Crockford Base32, per eżempju 01ARZ3NDEKTSV4RRFFQ69G5FAV. L-ewwel 10 karattri jikkodifikaw timestamp ta’ 48 bit f’millisekondi (biżżejjed sas-sena 10889); l-aħħar 16-il karattru huma 80 bit każwali. Crockford Base32 iħalli barra I, L, O u U biex tevita konfużjoni, u d-dekodifikar ma jiddistingwix bejn ittri kapitali u żgħar.

Peress li l-ħin jiġi l-ewwel, l-ULIDs jiġu f’ordni alfabetiku bl-ordni tal-ħolqien. Dan jagħmilhom primary keys tajbin: ringieli ġodda jiżdiedu fl-aħħar ta’ indiċi B-tree minflok ma jitqassmu bħal UUIDs każwali, u tista’ tordna b’ID minflok b’kolonna tad-data separata.

Mod monotoniku. F’millisekonda waħda, ULIDs każwali jiġu f’ordni każwali. Bl-għażla monotonika, l-għodda ssegwi l-ispeċifikazzjoni ULID: meta jinħolqu diversi IDs fl-istess millisekonda, iżżomm it-timestamp u żżid 1 mal-parti każwali preċedenti. Jekk l-arloġġ imur lura, iżżomm l-aħħar timestamp, għalhekk is-sekwenza qatt ma tonqos.

Żomm f’moħħok li ULID juri meta nħoloq. Tużahx fejn din l-informazzjoni hija sensittiva.

X’inhu Nano ID?

Nano ID huwa identifikatur każwali kompatt. Id-default huwa 21 karattru minn alfabett ta’ 64 karattru sigur għall-URL (A–Z a–z 0–9 _ -), li jagħti 126 bit każwali, simili għal UUID v4 (122 bit) f’inqas karattri. Tista’ tagħżel eżadeċimali, ċifri biss, ittri żgħar u ċifri, alfanumeriku, sett mingħajr karattri li jixbhu lil xulxin (mingħajr 0/O, 1/l/I, 5/S…) għal kodiċijiet li n-nies jiktbu, jew alfabett tiegħek ta’ 2 sa 256 karattru. Karattri duplikati f’alfabett personalizzat jitneħħew, għax jagħmlu xi karattri aktar probabbli.

Kull karattru jinġibed b’crypto.getRandomValues bl-użu ta’ rejection sampling, għalhekk m’hemm ebda bias modulo.

Probabbiltà ta’ kolliżjoni

Il-pannell Probabbiltà ta’ kolliżjoni japplika l-limitu tal-birthday. B’alfabett ta’ daqs A u tul L, hemm N = A^L IDs possibbli. Wara k IDs, iċ-ċans ta’ mill-inqas duplikat wieħed huwa madwar 1 − e^(−k²/2N), għalhekk riskju ta’ 1% jintlaħaq wara k ≈ √(2N · ln(1/0.99)) IDs. Daħħal l-IDs iġġenerati fis-siegħa biex tara kemm jieħu ħin. Bis-settings default u 1,000 ID fis-siegħa, riskju ta’ 1% jieħu madwar 149 biljun sena; b’8 karattri eżadeċimali jieħu biss madwar 9,300 ID.

Mistoqsijiet frekwenti

ULID jew UUID?

It-tnejn huma 128 bit. ULID huwa iqsar biex jinkiteb (26 karattru minflok 36) u jiġi ordnat bil-ħin. UUID verżjoni 7 issa joffri l-istess ordni taż-żmien fil-format UUID standard, li d-databases spiss jaħżnu nattivament. Agħżel UUID v7 jekk l-istack tiegħek jappoġġjah, ULID jekk trid string kompatta u li tinqara.

L-ULIDs u n-Nano IDs huma sikuri biżżejjed għal tokens?

Nano IDs bl-alfabett u t-tul default għandhom 126 bit każwali minn ġeneratur kriptografiku, li huwa biżżejjed għal links li ma jistgħux jiġu mbassra. L-ULIDs għandhom biss 80 bit każwali, u fil-mod monotoniku IDs konsekuttivi jvarjaw b’wieħed, għalhekk tużax ULIDs bħala sigrieti.

Nista’ naqsar Nano ID?

Iva, iżda r-riskju ta’ kolliżjoni jikber malajr ħafna. Iċċekkja l-valur IDs għal 1% ċans ta’ duplikat għat-tul u l-alfabett tiegħek qabel ma tiddependi fuq ID qasira.

Għaliex id-dekoder jirrifjuta l-ULID tiegħi?

ULID irid ikollu eżattament 26 karattru, juża biss karattri Crockford Base32, u jibda b’0 sa 7 (l-ewwel karattru akbar jaqbeż 128 bit).

L-IDs jinħażnu jew jintbagħtu imkien?

Le. Jiġu ġġenerati fil-brawżer tiegħek u jisparixxu meta titlaq mill-paġna.