Mikä on UUID-versio?

UUID (Universally Unique Identifier) on 128-bittinen tunniste, joka on standardoitu RFC 4122:ssa ja RFC 9562:ssa. Jokainen UUID sisältää versio-kentän, joka ilmaisee, miten se on luotu. Versio on koodattu 13. heksadesimaalinumeroon (7. tavun ylänibble), ja se määrittää tunnisteen luomiseen käytetyn algoritmin ja tietolähteet.

Tällä hetkellä on määritelty kahdeksan versiota (v1-v8) sekä kaksi erityismuotoa: Nil UUID (kaikki bitit nollia) ja Max UUID (kaikki bitit ykkösiä). Jokainen versio palvelee eri tarkoitusta - osa upottaa aikaleimoja kronologista lajittelua varten, osa käyttää kryptografisia tiivisteitä deterministiseen luontiin ja toiset perustuvat satunnaislukuihin yksinkertaisuuden vuoksi. Version tunteminen auttaa ymmärtämään UUID:n ominaisuudet, tietoturvavaikutukset ja käyttötarkoituksen.

Variantti-kenttä, joka on koodattu erikseen, ilmaisee, mitä UUID-spesifikaatiota tunniste noudattaa. Useimmat nykyaikaiset UUID:t käyttävät RFC 4122/RFC 9562 -varianttia, mutta vanhemmat järjestelmät saattavat tuottaa NCS- tai Microsoft-variantteja.

Työkalun kuvaus

Tämä työkalu ottaa minkä tahansa UUID:n syötteenä ja tunnistaa sen versionumeron, version nimen, variantin, luontimenetelmän sekä yksityiskohtaisen kuvauksen siitä, miten kyseinen versio toimii. Se tukee kaikkia standardiversioita (v1-v8) sekä Nil- ja Max UUID:ta. Liitä UUID ja näe välittömästi sen täydellinen erittely.

Esimerkit

Syöte UUID Versio Nimi
550e8400-e29b-41d4-a716-446655440000 4 Satunnainen (v4)
6ba7b810-9dad-11d1-80b4-00c04fd430c8 1 Aikaperusteinen (v1)
018f3e88-5c00-7b3a-8512-2d4a3f8e9c01 7 Unix Epoch -aikaperusteinen (v7)
00000000-0000-0000-0000-000000000000 Nil Nil UUID
ffffffff-ffff-ffff-ffff-ffffffffffff Max Max UUID

Ominaisuudet

  • Tunnistaa kaikki UUID-versiot v1:stä v8:aan sekä Nil- ja Max UUID:t
  • Tunnistaa variantin (RFC 4122/9562, NCS, Microsoft tai Reserved)
  • Näyttää selkokielisen kuvauksen siitä, miten versio luodaan

Miten se toimii

Työkalu jäsentää UUID:n heksadesimaalirakenteen kahden keskeisen kentän poimimiseksi:

  1. Versio: Luetaan 13. heksanumerosta (indeksi 12 riisutusta hex-merkkijonosta). Tämä nibble koodaa suoraan versionumeron (1-8). Nil- ja Max UUID:t havaitaan tarkistamalla, ovatko kaikki bitit nollia vai ykkösiä.
  2. Variantti: Määräytyy 17. heksanumeron (indeksi 16) merkittävimpien bittien perusteella. Bittikuvio vastaa yhtä neljästä varianttiperheestä: NCS, RFC 4122/9562, Microsoft tai Reserved.

UUID-versiot lyhyesti

Versio Nimi Keskeinen ominaisuus
v1 Aikaperusteinen Aikaleima + MAC-osoite
v2 DCE Security Aikaleima + MAC + POSIX UID/GID
v3 Nimiperusteinen (MD5) Deterministinen nimiavaruudesta + nimestä
v4 Satunnainen 122 satunnaista bittiä
v5 Nimiperusteinen (SHA-1) Deterministinen, vahvempi tiiviste kuin v3
v6 Uudelleenjärjestetty aikaperusteinen Lajiteltava variantti v1:stä
v7 Unix Epoch -aikaperusteinen Unix ms -aikaleima + satunnainen, ihanteellinen tietokanta-avaimille
v8 Mukautettu Toimittajakohtainen tai kokeellinen
Nil Nil UUID Kaikki 128 bittiä asetettu nollaan
Max Max UUID Kaikki 128 bittiä asetettu ykköseen

UKK

Mikä on ero UUID-version ja variantin välillä? Versio ilmaisee luontialgoritmin (aikaperusteinen, satunnainen, tiivisteperusteinen jne.), kun taas variantti ilmaisee, mitä spesifikaatiota UUID noudattaa (RFC 4122, NCS, Microsoft). Useimmat kohtaamasi UUID:t ovat RFC 4122/9562 -varianttia.

Mitä UUID-versiota minun tulisi käyttää? Useimpiin sovelluksiin v4 (satunnainen) on yksinkertaisin ja laajimmin tuettu. Jos tarvitset aikajärjestettäviä tunnisteita tietokannan ensisijaisiksi avaimiksi, v7 on nykyaikainen suositus. Käytä v5:ttä, kun tarvitset nimestä johdettuja deterministisiä UUID:ta.

Voiko tämä työkalu poimia aikaleiman UUID:sta? Tämä työkalu tunnistaa ainoastaan version ja variantin. Upotettujen aikaleimien poimimiseksi v1-, v6- tai v7 UUID:ista käytä erillistä UUID Time Extractor -työkalua.