🌐 NO

🆔 UUID-generator

Generer Universally Unique Identifiers (UUID). Opprett standard UUID-er for database-nøkler, API-tokens, sesjons-ID-er og mer.

Versjonsinfo

v1 (tidsstempelbasert)
Basert på MAC-adresse og tidsstempel. Tidsordnet.
v4 (tilfeldig)
Helt tilfeldig. Mest brukt.
v7 (sorterbar etter tidsstempel)
Sortererbart basert på tidsstempel. Nyeste standard.
GUIDE

Les mer

01

1. Hva er UUID?

UUID (Universally Unique Identifier) er en 128-bit identifikator som garanterer unikhet uten sentral koordinering. Representert som heksadesimal i 8-4-4-4-12-format (f.eks. 550e8400-e29b-41d4-a716-446655440000), er sannsynligheten for duplikater ekstremt lav når den genereres hvor som helst i verden. Brukes i primærnøkler i databaser, sesjons-ID-er, filnavn, API-tokens og mer. Kalles også GUID (Globally Unique Identifier), definert av RFC 4122-standarden.

02

2. Sammenligning av UUID-versjoner

Det finnes 5 UUID-versjoner, og hver bruker ulike genereringsmetoder. v1 kombinerer MAC-adresse og tidsstempel for å sikre tidsrekkefølge, men har sikkerhetsrisiko knyttet til eksponering av MAC-adresse. v4 er helt tilfeldig, mest brukt og svært uforutsigbar. v7 er den nyeste versjonen standardisert i 2024, sortererbar basert på tidsstempel og fordelaktig for databaseindeksering. v2 er for DCE-sikkerhet, mens v3/v5 er navneområdebaserte for spesielle formål.

03

3. Bruksområder for UUID

UUID-er er nyttige i mange situasjoner. I distribuerte systemer kan unike ID-er genereres uten en sentral server, noe som gir utmerket skalerbarhet. I databaser unngår bruk av UUID-er som primærnøkler i stedet for autoinkrementerte ID-er konflikter ved sammenslåing. I mikroservicearkitekturer brukes de til å spore kommunikasjon mellom tjenester. De brukes også mye til å unngå filnavnkonflikter ved filopplastinger, generering av midlertidige tokens, hendelsessporing og analyse av loggkorrrelasjon.

04

4. Velge mellom v1, v4 og v7

Valg av UUID-versjon avhenger av behovene. Velg v1 hvis tidsrekkefølge er viktig og eksponering av MAC-adresse er akseptabelt. MAC-adresser kan imidlertid brukes til å spore hvor genereringen skjedde, noe som gir personvernproblemer. v4 er det beste valget hvis sikkerhet er viktig og rekkefølge ikke er nødvendig. Helt tilfeldig, uforutsigbar og uten eksponering av personlige opplysninger. v7 anbefales hvis du ønsker både tidsbasert sortering og sikkerhet. Sortering basert på tidsstempel gir god databaseytelse og mindre indeksfragmentering.

05

5. UUID-unikhetsgaranti

Kollisjons­sannsynligheten for UUID-er er astronomisk lav. For v4 er 122 bits tilfeldige, noe som gir 2^122 = 5.3 x 10^36 mulige kombinasjoner. Selv ved generering av 1 billion per sekund, ville det ta 85 år å nå 50% kollisjonssannsynlighet. v1 garanterer tidsbasert unikhet med tidsstempel (60 bits) og klokkesekvens (14 bits), samt rombasert unikhet med MAC-adresse (48 bits). v7 kombinerer Unix-tidsstempel (48 bits) og tilfeldig (74 bits) for å oppfylle både tidsrekkefølge og unikhet.

06

6. Bruke UUID i databaser

Å bruke UUID-er som primærnøkler i databaser har flere fordeler. I distribuerte miljøer kan hver node opprette ID-er uavhengig uten en sentral ID-generator, noe som gir utmerket skalerbarhet. Det blir ingen ID-konflikter ved sammenslåing av data, og sekvensiell gjetting er umulig når ID-ene eksponeres i URL-er, noe som gir sikkerhetsfordeler. Det finnes imidlertid også ulemper. De er 16 byte og større enn heltall (4-8 byte), og tilfeldigheten i v4 kan svekke indeksytelsen. I slike tilfeller vil bruk av v7 med tidsordnet sortering forbedre ytelsen til B-tree-indekser.

Vanlige sporsmal

Bør jeg velge UUID v1, v4 eller v7?
Velg v4 hvis sikkerhet er viktig og du ikke trenger rekkefølge, eller v7 hvis du vil ha tidsbasert sortering og bedre databaseindeksytelse. v1 eksponerer MAC-adressen og gir personvernproblemer, så den anbefales ikke med mindre du har et spesifikt behov.
Er det noen risiko for at UUID-er kolliderer?
Med v4 finnes det 2^122 mulige kombinasjoner - selv ved generering av 1 billion per sekund ville det ta 85 år å nå 50% kollisjonssannsynlighet. I praksis er kollisjoner ikke et reelt problem.
Kan jeg generere flere UUID-er samtidig?
Ja, du kan angi antallet og generere opptil 100 samtidig, og deretter bruke "Kopier alt" for å hente dem samlet.
Kan jeg bruke UUID-er som primærnøkler i databaser?
Ja. Dette lar distribuerte systemer opprette unike ID-er uten sentral koordinering, selv om tilfeldigheten i v4 kan føre til indeksfragmentering - bruk v7 hvis du trenger tidsordnet sortering.
Er UUID og GUID det samme?
Ja, GUID (Globally Unique Identifier) er Microsofts navn på i praksis det samme konseptet, og begge følger RFC 4122-standarden.