UUID / GUID Genereerder

Genereer UUID's in v1, v4 of v5 — grootmaat, geformateer, met opsionele voorvoegsel/agtervoegsel.

Weergawe-verwysing


v4 — Lukraak

Weergawe 4 UUID's word geheel en al uit lukrake (of pseudo-lukrake) grepe gegenereer. 122 van die 128 bisse is lukraak; die oorblywende 6 bisse enkodeer die weergawe (4) en die variant. Omdat hulle geen gestruktureerde inligting dra nie, is v4 UUID's die eenvoudigste keuse: hulle vereis geen gedeelde toestand, geen netwerkklok en geen naamruimtekoördinasie nie. Die waarskynlikheid om 'n duplikaat te genereer is astronomies laag. Gebruik v4 as die verstek vir databasis-primêre sleutels, sessietekens en enige konteks waar uniekheid vereis word maar tydordening nie.

Wikipedia — UUID Version 4 (random)

v1 — Tydgebaseer

Weergawe 1 UUID's bevat 'n 60-bis-tydstempel (100-nanosekonde-intervalle sedert 15 Oktober 1582, die datum van die Gregoriaanse kalenderhervorming), 'n 14-bis-klokvolgorde en 'n 48-bis-nodus-identifiseerder (histories die MAC-adres van die generende masjien). Omdat die tydstempel die mees-beduidende komponent is, sorteer v1 UUID's chronologies wanneer hulle leksikografies vergelyk word — 'n nuttige eienskap vir geklusterde databasisindekse. Die afruil is privaatheid: 'n v1 UUID lek die masjien se MAC-adres en die presiese skeppingstyd. Moderne implementerings vervang die nodus met 'n lukrake een om daardie blootstelling te vermy.

Wikipedia — UUID Version 1 (time-based)

v5 — Naamruimte + Naam (SHA-1)

Weergawe 5 UUID's is deterministies: gegewe dieselfde naamruimte-UUID en dieselfde naamstring, is die afvoer altyd identies. Die algoritme voeg die naamruimtegrepe en die UTF-8-geënkodeerde naam saam, hash hulle met SHA-1, en vou dan die 160-bis-samevatting in 128 bisse (deur die weergawebisse na 5 en die RFC 4122-variant te stel). Dit maak v5 ideaal om stabiele, herhaalbare identifiseerders te genereer — byvoorbeeld om 'n URL na 'n UUID te karteer wat nooit verander nie, of om 'n ou string-sleutel na 'n UUID om te skakel sonder 'n opsoektabel. v3 gebruik MD5 in plaas daarvan; v5 word verkies omdat SHA-1 minder botsings lewer.

Wikipedia — UUID Version 5 (name-based)