Utilia

UUID-generator

Gratis UUID-generator til UUID'er i version 4 og 7. Opret op til 1.000 ad gangen med store bogstaver eller uden bindestreger, og kopiér eller download som .txt.

Version

Sådan bruger du UUID-generatoren

  1. Vælg UUID-version: v4 til helt tilfældige identifikatorer eller v7 til tidsordnede identifikatorer.
  2. Angiv, hvor mange UUID’er du har brug for, fra 1 til 1.000.
  3. Slå eventuelt Store bogstaver til, eller fjern Bindestreger, hvis det system, du bruger dem i, forventer den kompakte form med 32 tegn.
  4. Generér, og kopiér derefter listen til udklipsholderen, eller download den som en .txt-fil med én UUID pr. linje.

Hvad er en UUID?

En UUID (Universally Unique Identifier), i Microsofts verden også kaldet en GUID, er en værdi på 128 bit, der bruges til at identificere noget uden at have brug for en central myndighed til at uddele numre. Den skrives som regel som 32 hexadecimale cifre i fem grupper adskilt af bindestreger, i mønsteret 8-4-4-4-12, for eksempel f47ac10b-58cc-4372-a567-0e02b2c3d479. Første ciffer i tredje gruppe er versionen, og første ciffer i fjerde gruppe koder varianten (8, 9, a eller b for standard-UUID’er).

Fordi en hvilken som helst computer selvstændigt kan oprette en UUID med en ubetydelig risiko for kollision, bruges UUID’er meget som primærnøgler i databaser, id’er for forespørgsler og korrelation i logfiler, filnavne til uploads, idempotensnøgler til API’er og identifikatorer i distribuerede systemer, hvor flere servere opretter poster på samme tid.

Version 4 eller version 7

Begge versioner er defineret i RFC 9562, standarden fra 2024, der afløste RFC 4122.

UUID v4 er næsten helt tilfældig: 122 af dens 128 bit kommer fra en tilfældighedsgenerator, og de resterende 6 bit rummer versionen og varianten. Den afslører intet om, hvornår eller hvor den blev oprettet. Risikoen for kollision er så lille, at du ville skulle generere omkring 103 billioner v4-UUID’er for at nå en sandsynlighed på én ud af en milliard for en enkelt dublet. Vælg v4, når du vil have identifikatorer, der er uigennemsigtige og ikke bærer information.

UUID v7 begynder med et Unix-tidsstempel på 48 bit i millisekunder, efterfulgt af versionen, varianten og 74 tilfældige bit. Derfor sorterer v7-UUID’er, der genereres senere, efter dem, der genereres tidligere. Det betyder meget for databaser: tilfældige v4-nøgler indsættes på spredte positioner i et B-træ-indeks, hvilket giver sidedelinger og dårlig cachelokalitet, mens v7-nøgler tilføjes nær slutningen, ligesom et autoinkrementeret heltal. Vælg v7 til primærnøgler og alt, du vil sortere efter oprettelsestidspunkt. Husk, at oprettelsestidspunktet kan læses ud af en v7-UUID, så undgå den, når den tidsoplysning er følsom.

Tilfældighed og sikkerhed

Værktøjet bruger browserens kryptografisk sikre generator af tilfældige tal (Web Crypto API), ikke Math.random(), som ikke er lavet til at være uforudsigelig. UUID’erne genereres lokalt på din enhed og sendes aldrig til eller logges af en server, så ingen andre ser nogensinde de værdier, du opretter.

Alligevel er en UUID en identifikator, ikke en hemmelighed. Lad være med alene at stole på en UUID, der ikke kan gættes, til at beskytte et privat dokument eller et link til nulstilling af adgangskode; kombinér den med ordentlig godkendelse og udløb.

Formateringsvalg

Den kanoniske form er med små bogstaver og bindestreger, og RFC 9562 anbefaler små bogstaver. Nogle systemer, som ældre Windows-værktøjer eller visse databaser, viser GUID’er med store bogstaver, og nogle lagringsformater foretrækker formen med 32 tegn uden bindestreger. Begge valg ændrer kun den tekstlige gengivelse; den underliggende værdi på 128 bit er den samme, og de fleste fortolkere accepterer alle former.

Ofte stillede spørgsmål

Er UUID'er garanteret entydige?

Ikke strengt garanteret, men sandsynligheden for kollision med korrekt genererede tilfældige bit er så lav, at den i praksis kan ignoreres. De rigtige risici kommer fra defekte tilfældighedsgeneratorer eller manuel kopiering af værdier, ikke fra formatet.

Skal jeg bruge UUID v4 eller v7 som primærnøgle i en database?

Til de fleste nye projekter er v7 det bedste valg: det holder indeks kompakte og indsættelser hurtige, fordi værdierne ankommer i nogenlunde stigende rækkefølge. Brug v4, hvis du ikke vil have oprettelsestidspunktet synligt i identifikatoren.

Er en GUID det samme som en UUID?

Ja. GUID er det navn, Microsoft bruger for det samme format på 128 bit. En GUID fra .NET eller SQL Server kan bruges i flæng med en UUID fra andre platforme.

Kan to v7-UUID'er oprettet i samme millisekund støde sammen?

De deler det samme tidsstempelpræfiks, men de resterende 74 tilfældige bit gør en kollision yderst usandsynlig. Inden for samme millisekund er deres indbyrdes rækkefølge ikke garanteret at svare til den præcise rækkefølge, de blev oprettet i.

Hvorfor er bindestreger valgfrie?

Bindestreger er der kun for læsbarhedens skyld. Hvis du fjerner dem, får du en hexadecimal streng på 32 tegn, der repræsenterer præcis den samme værdi, og som nogle API’er og lagringsformater foretrækker.