Hva er en UUID-versjon?

En UUID (Universally Unique Identifier) er en 128-bits identifikator standardisert av RFC 4122 og RFC 9562. Hver UUID inneholder et versjonsfelt som angir hvordan den ble generert. Versjonen er kodet i det 13. heksadesimale sifferet (den høye nibble-en til den 7. byten), og den bestemmer algoritmen og datakildene som ble brukt til å opprette identifikatoren.

Det finnes for øyeblikket åtte definerte versjoner (v1 til v8), pluss to spesielle former: Nil UUID (alle nuller) og Max UUID (alle enere). Hver versjon tjener et annet formål — noen inneholder tidsstempler for kronologisk sortering, noen bruker kryptografiske hash-er for deterministisk generering, og andre er basert på tilfeldige tall for enkelhetens skyld. Å kjenne til versjonen hjelper deg å forstå egenskapene, sikkerhetsimplikasjonene og det tiltenkte bruksområdet til en UUID.

Variantfeltet, som er kodet separat, identifiserer hvilken UUID-spesifikasjon identifikatoren samsvarer med. De fleste moderne UUID-er bruker RFC 4122/RFC 9562-varianten, men eldre systemer kan produsere NCS- eller Microsoft-varianter.

Verktøybeskrivelse

Dette verktøyet tar en hvilken som helst UUID som inndata og identifiserer versjonsnummeret, versjonsnavnet, varianten, genereringsmetoden og en detaljert beskrivelse av hvordan den aktuelle versjonen fungerer. Det støtter alle standardversjoner (v1 til v8), samt Nil og Max UUID-er. Lim inn en UUID og se umiddelbart en fullstendig analyse.

Eksempler

Inndata-UUID Versjon Navn
550e8400-e29b-41d4-a716-446655440000 4 Tilfeldig (v4)
6ba7b810-9dad-11d1-80b4-00c04fd430c8 1 Tidsbasert (v1)
018f3e88-5c00-7b3a-8512-2d4a3f8e9c01 7 Unix Epoch-tidsbasert (v7)
00000000-0000-0000-0000-000000000000 Nil Nil UUID
ffffffff-ffff-ffff-ffff-ffffffffffff Max Max UUID

Funksjoner

  • Oppdager alle UUID-versjoner fra v1 til v8, samt Nil og Max UUID-er
  • Identifiserer varianten (RFC 4122/9562, NCS, Microsoft eller Reservert)
  • Viser en lesbar beskrivelse som forklarer hvordan versjonen genereres
  • Viser genereringsmetoden som ble brukt til å produsere UUID-en
  • Øyeblikkelig sanntidsidentifikasjon mens du skriver eller limer inn

Bruksområder

  • Feilsøking i distribuerte systemer: Avgjør om UUID-er i loggene dine er tidsbaserte (v1/v6/v7) eller tilfeldige (v4) for å forstå om de inneholder innebygde tidsstempler du kan trekke ut.
  • Databaseoptimalisering: Identifiser om primærnøklene dine bruker en sorterbar UUID-versjon (v6, v7) eller en tilfeldig (v4) som kan forårsake indeksfragmentering.
  • Sikkerhetsrevisjon: Oppdag v1 UUID-er som kan lekke MAC-adresser eller tidsstempler, og hjelp deg med å vurdere risikoen for informasjonslekkasje.

Slik fungerer det

Verktøyet analyserer UUID-ens heksadesimale struktur for å trekke ut to nøkkelfelt:

  1. Versjon: Leses fra det 13. hex-sifferet (indeks 12 i den strippede hex-strengen). Denne nibble-en koder direkte versjonsnummeret (1–8). Nil og Max UUID-er oppdages ved å sjekke om alle biter er null eller alle biter er én.
  2. Variant: Bestemmes av de mest signifikante bitene til det 17. hex-sifferet (indeks 16). Bitmønsteret tilordnes til én av fire variantfamilier: NCS, RFC 4122/9562, Microsoft eller Reservert.

UUID-versjoner i oversikt

Versjon Navn Nøkkelegenskap
v1 Tidsbasert Tidsstempel + MAC-adresse
v2 DCE Security Tidsstempel + MAC + POSIX UID/GID
v3 Navnebasert (MD5) Deterministisk fra navnerom + navn
v4 Tilfeldig 122 tilfeldige biter
v5 Navnebasert (SHA-1) Deterministisk, sterkere hash enn v3
v6 Omordnet tidsbasert Sorterbar variant av v1
v7 Unix Epoch-tidsbasert Unix ms-tidsstempel + tilfeldig, ideell for DB-nøkler
v8 Egendefinert Leverandørspesifikk eller eksperimentell
Nil Nil UUID Alle 128 biter satt til null
Max Max UUID Alle 128 biter satt til én

Ofte stilte spørsmål

Hva er forskjellen mellom UUID-versjon og variant? Versjonen angir genereringsalgoritmen (tidsbasert, tilfeldig, hash-basert osv.), mens varianten identifiserer hvilken spesifikasjon UUID-en samsvarer med (RFC 4122, NCS, Microsoft). De fleste UUID-er du møter vil være av RFC 4122/9562-varianten.

Hvilken UUID-versjon bør jeg bruke? For de fleste applikasjoner er v4 (tilfeldig) den enkleste og mest utbredte. Hvis du trenger tidssorterbare identifikatorer for primærnøkler i databaser, er v7 den moderne anbefalingen. Bruk v5 når du trenger deterministiske UUID-er avledet fra et navn.

Kan dette verktøyet trekke ut tidsstempelet fra en UUID? Dette verktøyet identifiserer kun versjon og variant. For å trekke ut innebygde tidsstempler fra v1-, v6- eller v7-UUID-er, bruk det dedikerte UUID Time Extractor-verktøyet.