UUID v4 rafall

Búðu til UUID v4 gildi á netinu: 122 slembivæddir bitar, staðlað UUID-snið og niðurstöður tilbúnar til afritunar í vafranum þínum.

Snið
Auðkenni búin til
Tilbúið. Búðu til UUID v4 gildi í vafranum þínum.

Hvernig þetta ID er byggt upp

Uppsetning
128 bita UUID með útgáfu 4 og RFC-afbrigðisbitum, sýnt sem 8-4-4-4-12 hópar í sextánundakerfi.
Óreiða (entropy)
122 slembivæddir bitar úr crypto.randomUUID().
Tími
Enginn; v4 auðkenni sýna ekki hvenær þau voru búin til.
Árekstrarhætta
Árekstrum er stjórnað af 122 slembivöldum bitum, sem er langt umfram venjulegt magn í dæmigerðum kerfum.
Dæmi
4a4cd938-a837-43bb-b700-fb8e1b9376c4

Auðkennin þín eru búin til staðbundið með sterkri slembilu úr vafranum. Ekkert er sent til BroBroGo.

Algengar spurningar

Hvenær ætti ég að nota UUID v4?

Notaðu UUID v4 þegar þú þarft ógagnsæ slembiauðkenni sem raðast ekki eftir stofntíma og afhjúpa engar tímasetningarupplýsingar.

Get ég fjarlægt bandstrik eða haft úttakið í hástöfum?

Já. Læsta UUID v4 tólið heldur valmyndinni fyrir UUID-valkosti, svo þú getur kveikt/slökkt á bandstrikum og hástöfum í úttakinu.

Hvernig UUID v4 myndast

Þessi síða býr til eitt eða fleiri UUID v4-auðkenni – handahófskennda, 36 stafa textastrengi í staðlaða 8‑4‑4‑4‑12 sniði. Notandinn stýrir fjölda (1 til 100), hvort nota eigi hástafi (A–F í stað a–f) og hvort bandstrik komi fyrir. Auðkennin birtast samstundis í vafranum, og þú getur afritað eitt með því að smella á það eða afritað öll í einu.

Það sem aðgreinir þessa síðu er að hún nýtir 122 bita af hreinni handahófskennd á hvert UUID. Afgangs 6 bitarnir eru fastir og tákna útgáfu- og afbrigðabita. UUID v4 hefur enga tíma- eða röðunarupplýsingar. Þetta veldur því að þegar slík gildi eru notuð sem aðallykill í gagnagrunni skipta þau B‑trjávisitölur í sundur, ólíkt tímaraðaðri sniðum. Líkur á árekstri eru hverfandi fyrir hagnýt not.

Síðan sýnir sniðsértæka stilliskjái (hástafi, bandstrik) sem eiga aðeins við um UUID (v4 og v7); aðrar auðkennistegundir á tólinu nota öðruvísi stjórntæki.

Uppbygging UUID v4

UUID v4 er skilgreint í RFC 4122. Hvert auðkenni inniheldur 122 bita af handahófi, sem kemur úr öflugri handahófsgjafa vafrans. 6 bitar eru fastir: 4 bitar fyrir útgáfunúmerið (0100 fyrir v4) og 2 bitar fyrir afbrigðið (10 fyrir RFC 4122). Staðlaða framsetningin er 36 stafir: 32 hexadecimal stafir og 4 bandstrik, skipað í 8‑4‑4‑4‑12.

Til dæmis: 3b241101-e2bb-4255-8caf-4136c566a962. Hér er 3 útgáfan og 8 (í fjórða hlutanum) er afbrigðið. Þegar bandstrik eru fjarlægð verður strengurinn 32 stafir, til dæmis 3b241101e2bb42558caf4136c566a962. Uppercase-stillingin breytir a–f í A–F: 3B241101-E2BB-4255-8CAF-4136C566A962.

Handahófskennd og árekstralíkur

122 bitar af handahófi þýðir að fjöldi mögulegra UUID v4 er 2^122, sem er um 5,3 × 10^36. Til að gefa hugmynd: ef þú myndaðir 1 milljarð UUIDs á sekúndu í 100 år, væri líklegra að þú yrðir fyrir eldingu en að fá árekstur. Þetta byggist á afmælisdæmi líkindafræðinnar, þar sem árekstralíkur fara vaxandi eftir fjölda myndaðra auðkenna, en við hagnýt not (allt að 100 í einu) eru líkur hverfandi.

Reynsluformúlan fyrir árekstralíkur er u.þ.b. 1 – exp(-k^2 / (2 * N)), þar sem k er fjöldi myndaðra auðkenna og N = 2^122. Fyrir k = 100 er niðurstaðan svo nálægt núlli að hún er ómælanleg í reikniforritum.

Áhrif á gagnagrunnsvísitölur

UUID v4 er handahófskennt og hefur engan tíma- eða röðunarþátt. Þegar það er notað sem aðallykill í gagnagrunni með B‑trjávisitölum (eins og innbyggða vísitala í PostgreSQL eða MySQL) veldur þetta tíðum endurjafnvægingum. Nýjar færslur lenda á handahófskenndum stöðum í trénu, ekki við endann. Þetta leiðir til:

  • Aukinnar skrifsevni: Disksíður verða að lesa og skrifa oftar.
  • Rýrnunar í skyndiminni: Handahófskenndar færslur minnka líkurnar á að skyndiminni nái að halda viðeigandi blaðsíðum.
  • Hægari innsetningu: Hver ný færsla krefst fleiri innri þrepa í trénu.

Tímaraðaðar auðkenni, eins og UUID v7 eða ULID, forðast þetta vandamál með því að myndast í tímaröð. UUID v4 er aftur á móti betra þegar þú vilt ekki að hægt sé að giska á raðnúmer eða telja færslur.

Samanburður við tímaraðað auðkenni

UUID v7 notar 48 bita af tímastimpli (Unix-millisekúndur) og 74 bita af handahófi. Það röðast því nokkurn veginn í tímaröð og orsakar minni vísitölubrota. ULID er svipað, með 48 bita tímastimpli (Unix-millisekúndur) og 80 bita handahófi, og er sett fram með Crockford-base32.

UUID v4 er hins vegar 122 bitar af handahófi. Það hefur enga tímaupplýsingar og því enga tímaröð. Þetta gerir það tilvalið fyrir aðstæður þar sem þú vilt ekki að hægt sé að vinna upplýsingar um röð eða tíma úr auðkenninu – svo sem API-þjónustulykla, lotuauðkenni eða gagnadreifð kerfi án miðlægrar samhæfingar.

Notkunarsvið fyrir óraðaðar auðkenni

Öryggisverkfræðingar nota UUID v4 fyrir API-þjónustulykla eða beiðniauðkenni þar sem tímabundinn fylgni er ekki æskileg. Forritarar sem vinna með dreifð kerfi, þar sem samræming er ómöguleg, treysta á handahófskennd auðkenni til að forðast árekstra. Prófunarmenn og gagnagerðarmenn fylla sýnigagnagrunna með UUID v4 til að líkja eftir raunverulegum, óraðaðra lyklum.

Notkun í gagnagrunni krefst þess að hannað sé með vísitöluskiptingu í huga. Sumir gagnagrunnar bjóða upp á sérstakar UUID-vísitölur eða aðferðir eins og "index bloat management". Aðrir kjósa að nota UUID v4 sem efnislykil (surrogate key) og halda öðrum raðaða lykli fyrir tímaröð.

Sérsnið sniðs: hástafir og bandstrik

Bandstrik í UUID v4 auka læsileika og fylgja RFC 4122. Þau gera auðveldara að greina einstaka hluta og afla villuleitar. Þegar bandstrik eru fjarlægð (32 stafir) verður strengurinn styttri og hentugri fyrir vefslóðir eða forrit sem krefjast strengja án sérstakra stafa.

Hástafir (A–F) breyta útliti en ekki gildinu. Sum kerfi fylgja hefð fyrir lágstöfum, önnur hástöfum. Það skiptir máli að samræmi sé milli kerfa, annars geta leitarvélar eða samanburður gefið rangar niðurstöður.

Algengar spurningar

Hverjar eru líkurnar á árekstri UUID v4 við venjulega notkun? Líkurnar eru hverfandi. Fyrir 100 mynduð UUIDs eru líkur á árekstri ómælanlegar. Jafnvel við milljarða myndaðra auðkenna eru líkur áreksturs minni en að fá 50 tölur í lottóinu tvisvar í röð.

Af hverju get ég ekki notað UUID v4 sem aðallykil í gagnagrunni? Þú getur það, en þú verður að vera meðvitaður um vísitöluskiptingu. Handahófskennd innsetning veldur tíðum endurjafnvægingum og minni afköstum. Tímaraðaðar auðkenni (UUID v7 eða ULID) henta betur fyrir mikið skrifaða gagnagrunna.

Hvað gerist ef ég sleppi bandstrikunum? Auðkennið verður 32 stafir í stað 36. Það er enn gilt UUID v4, en slepping bandstrika getur valdið vandræðum við forrit sem búast við bandstrikum. Sum kerfi krefjast 36-stafa framsetningar.

Er munur á stórum og lágum stöfum? Nei, gildið er það sama. Hástafir A–F og lágstafir a–f eru jafngildir í hexadecimal. Samræmi er þó æskilegt til að forðast rugling í leitarvélum og samanburði.

Hvernig vinnur síðan þetta? Allt fer fram í vafranum. Síðan notar crypto.randomUUID eða jafngilda API-ið til að mynda 122 handahófsbita. Engin gögn eru send til netþjóns. Þegar breytingar eru gerðar á stillingum (fjölda, hástöfum, bandstrikum) myndast ný auðkenni samstundis.

Get ég notað UUID v4 fyrir API-þjónustulykla? Já, UUID v4 er tilvalið. 122 bitar af handahófi gera það nánast ómögulegt að giska á. Tímaupplýsingar vantar, sem er kostur ef þú vilt ekki að hægt sé að vinna tíma upplýsingar úr lyklinum.