Univerzální unikátní identifikátor

Univerzální unikátní identifikátor (anglicky Universally Unique Identifier zkr. UUID nebo také anglicky Globally Unique Identifier zkr. GUID) je 128bitové číslo používané k identifikaci informací v počítačových systémech. Když jsou UUID generovány podle standardních metod, jsou pro praktické účely jedinečné. Jejich jedinečnost nezávisí na ústředním registračním orgánu, nebo koordinaci mezi stranami, které je vytvářejí. I když není nulová pravděpodobnost, že UUID může existovat duplicitně, je taková možnost dostatečně blízká nule, aby byla zanedbatelná. Kdokoli tedy může vygenerovat UUID pro svoji potřebu a použít jej k identifikaci něčeho s jistotou, že identifikátor se nebude shodovat s UUID pro identifikaci něčeho jiného. Informace označené UUID nezávislými stranami mohou být proto později sloučeny do společné databáze se zanedbatelnou pravděpodobností duplikátů.

Přijetí UUID je rozšířené a mnoho výpočetních platforem poskytuje podporu pro jejich generování a pro analýzu jejich textové reprezentace.

Formát

Ve svém kanonickém tvaru je 16 bajtů UUID[1] reprezentováno jako 32 šestnáctkových číslic (base-16), zobrazených v 5 skupinách oddělených spojovníky, o délkách 8-4-4-4-12, tj. pro celkem 36 znaků (32 alfanumerických znaků a 4 spojovníky). Například:

123e4567-e89b-12d3-a456-426655440000
xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx

Pole M a N obsahují metadata o samotném UUID. 4bitové pole M obsahuje verzi UUID a nejvýznamnější bit v 1- až 3bitovém poli N obsahuje variantu UUID. V příkladu M je 1, a N je a (10xx2), což znamená, že se jedná o časově založený UUID DCE / RFC 4122 verze 1, varianta 1.

UUID tabulka polí
NázevDélka (bajty)Délka (16-kové číslo)Obsahuje
time_low48celé číslo dávající spodních 32 bitů času
time_mid24celé číslo dávající středních 16 bitů času
time_hi_and_version244bit „verze“ v nejvýznamnějším bitu, následována horními 12 bity času
clock_seq_hi_and_res clock_seq_low241- až 3bity „varianty“ v nejvýznamnějším bitu, následované 13- až 15bity časového úseku
node61248bitový uzel ID

Tyto názvy polí odpovídají časově založeným UUID ve verzi 1 a 2, ale samotný kánonický tvar 8-4-4-4-12 je stejný pro všechny UUID bez ohledu na to že jsou tvořeny jinak.

RFC 4122 Section 3 vyžaduje písmena v minuskulách, přestože na vstupu nejsou rozlišované minuskule a majuskule (anglicky case-insensitive)

RFC 4122 také definuje jaký se používá formát Uniform Resource Name (URN) pro UUID. UUID reprezentované formou URN vypadá následovně:[1]

urn:uuid:123e4567-e89b-12d3-a456-426655440000

Reference

Externí odkazy