Utilia

ULID- og Nano ID-framleiðandi

Búðu til ULID (með einhalla valkosti) eða Nano ID með sérsniðnu stafrófi og lengd, í lotu, afkóðaðu tímastimpil ULID og athugaðu árekstraráhættu.

Gerð auðkennis

Afkóða ULID

Hvernig á að búa til ULID eða Nano ID

  1. Undir Gerð auðkennis skaltu velja ULID (raðanlegt) eða Nano ID (stutt).
  2. Stilltu Hve mörg (1 til 1 000). Tíu auðkenni eru búin til um leið og síðan hleðst.
  3. Fyrir ULID skaltu hafa Einhalla (strangt vaxandi) hakað svo að auðkenni sem eru búin til í sömu millisekúndu raðist samt í rétta röð, og haka við Lágstafir ef kerfið þitt kýs það.
  4. Fyrir Nano ID skaltu velja Stafróf (eða Sérsniðið… og slá inn eigin stafi) og Lengd.
  5. Smelltu á Búa til, síðan Afrita listann eða Sækja hann sem .txt skrá (eitt auðkenni í hverri línu).

Til að lesa dagsetninguna sem er falin í ULID skaltu líma það undir Afkóða ULID eða smella á Afkóða fyrsta auðkennið. Verkfærið sýnir tímastimpilinn í UTC (ISO 8601), í staðartíma þínum, sem Unix-millisekúndur og 80 bita tilviljanakennda hlutann í sextándakerfi.

Hvað er ULID?

ULID (Universally Unique Lexicographically Sortable Identifier) er 128 bita auðkenni skrifað sem 26 stafir í Crockford Base32, til dæmis 01ARZ3NDEKTSV4RRFFQ69G5FAV. Fyrstu 10 stafirnir kóða 48 bita tímastimpil í millisekúndum (nóg fram að árinu 10889); síðustu 16 stafirnir eru 80 tilviljanakenndir bitar. Crockford Base32 sleppir I, L, O og U til að forðast rugling og afkóðun er óháð há- og lágstöfum.

Þar sem tíminn kemur fyrst raðast ULID í stafrófsröð eftir sköpunartíma. Það gerir þau að góðum frumlyklum: nýjar raðir bætast aftast í B-tré vísi í stað þess að dreifast eins og tilviljanakennd UUID, og þú getur raðað eftir auðkenni í stað sérstaks dagsetningardálks.

Einhalla hamur. Innan einnar millisekúndu myndu tilviljanakennd ULID raðast í tilviljanakenndri röð. Með einhalla valkostinum fylgir verkfærið ULID-skilgreiningunni: þegar mörg auðkenni eru búin til í sömu millisekúndu heldur það tímastimplinum og bætir 1 við fyrri tilviljanakennda hlutann. Ef klukkan fer aftur á bak heldur það síðasta tímastimpli, þannig að röðin lækkar aldrei.

Hafðu í huga að ULID afhjúpar hvenær það var búið til. Notaðu það ekki þar sem sú vitneskja er viðkvæm.

Hvað er Nano ID?

Nano ID er þétt tilviljanakennt auðkenni. Sjálfgefið eru 21 stafur úr 64 stafa stafrófi sem er öruggt í vefslóðum (A–Z a–z 0–9 _ -), sem gefur 126 tilviljanakennda bita, svipað og UUID v4 (122 bitar) í færri stöfum. Þú getur valið sextándakerfi, aðeins tölustafi, lágstafi og tölustafi, bókstafi og tölustafi, safn án áþekkra stafa (ekkert 0/O, 1/l/I, 5/S…) fyrir kóða sem fólk slær inn, eða þitt eigið stafróf með 2 til 256 stöfum. Tvítekin tákn í sérsniðnu stafrófi eru fjarlægð, því þau myndu gera suma stafi líklegri.

Hver stafur er dreginn með crypto.getRandomValues með höfnunarúrtaki, þannig að engin modulo-skekkja er til staðar.

Líkur á árekstri

Spjaldið Líkur á árekstri beitir afmælismarkinu (birthday bound). Með stafrófi af stærð A og lengd L eru N = A^L möguleg auðkenni. Eftir k auðkenni eru líkurnar á að minnsta kosti einu tvíteknu um 1 − e^(−k²/2N), þannig að 1% áhættu er náð eftir k ≈ √(2N · ln(1/0,99)) auðkenni. Sláðu inn Auðkenni búin til á klukkustund til að sjá hve langan tíma það tæki. Með sjálfgefnum stillingum og 1 000 auðkennum á klukkustund tekur 1% áhætta um 149 milljarða ára; með 8 sextándakerfisstöfum tekur það aðeins um 9 300 auðkenni.

Algengar spurningar

ULID eða UUID?

Bæði eru 128 bitar. ULID er styttra í ritun (26 stafir í stað 36) og raðast eftir tíma. UUID útgáfa 7 býður nú sömu tímaröðun í stöðluðu UUID-sniði, sem gagnagrunnar geyma oft innbyggt. Veldu UUID v7 ef kerfið þitt styður það, ULID ef þú vilt þétta, læsilega streng.

Eru ULID og Nano ID nógu örugg fyrir tóka?

Nano ID með sjálfgefnu stafrófi og lengd hefur 126 tilviljanakennda bita úr dulmálslegum gjafa, sem nægir fyrir óræðanlega tengla. ULID hafa aðeins 80 tilviljanakennda bita, og í einhalla ham eru samliggjandi auðkenni aðeins einum frábrugðin, svo ekki nota ULID sem leyndarmál.

Get ég stytt Nano ID?

Já, en árekstraráhættan vex mjög hratt. Athugaðu gildið Auðkenni fyrir 1% líkur á tvíteknu fyrir lengd þína og stafróf áður en þú treystir á stutt auðkenni.

Af hverju hafnar afkóðarinn ULID-inu mínu?

ULID verður að hafa nákvæmlega 26 stafi, nota aðeins Crockford Base32 stafi og byrja á 0 til 7 (stærri fyrsti stafur færi yfir 128 bita).

Eru auðkennin geymd eða send eitthvað?

Nei. Þau eru búin til í vafranum þínum og hverfa þegar þú yfirgefur síðuna.