Univerzální unikátní identifikátor

Z Wikipedie, otevřené encyklopedie
Skočit na navigaci Skočit na vyhledávání

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[editovat | editovat zdroj]

Ve svém kanonickém tvaru je 16 bajtů UUID[1] reprezentováno jako 32 šestnáckových číslic (base-16), zobrazených v 5 skupinách oddělených spojovníky, ve tvaru 8-4-4-4-12 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. 4-bitové pole M obsahuje verzi UUID a nejvýznamnější bit v 1 až 3-bitové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ázev Délka (bajty) Délka (16-kové číslo) Obsahuje
time_low 4 8 celé číslo dávající spodních 32 bitů času
time_mid 2 4 celé číslo dávající středních 16 bitů času
time_hi_and_version 2 4 4-bit "verze" v nejvýznamnějším bitu, následována horními 12 bity času
clock_seq_hi_and_res clock_seq_low 2 4 1 až 3-bity "varianty" v nejvýznamnějším bitu, následované 13 až 15-bity časového úseku
node 6 12 48-bitový 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[editovat | editovat zdroj]

  1. a b RFC 4122