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
  • Näyttää UUID:n tuottamiseen käytetyn luontimenetelmän
  • Välitön reaaliaikainen tunnistus kirjoittaessa tai liittäessä

Käyttötapaukset

  • Hajautettujen järjestelmien debuggaus: Selvitä, ovatko lokeissasi olevat UUID:t aikaperusteisia (v1/v6/v7) vai satunnaisia (v4), jotta ymmärrät, sisältävätkö ne poimittavia aikaleimoja.
  • Tietokannan optimointi: Tunnista, käyttävätkö ensisijaiset avaimesi lajiteltavaa UUID-versiota (v6, v7) vai satunnaista (v4), joka saattaa aiheuttaa indeksin pirstoutumista.
  • Tietoturva-auditointi: Havaitse v1 UUID:t, jotka saattavat vuotaa MAC-osoitteita tai aikaleimoja, ja arvioi tietovuotoriskit.

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.