Hoppa till huvudinnehåll
FreeOnlineTools Go
Svenska
Jämförelse

UUID v1 vs v4 vs v5: Vilken Version Ska Du Välja?

Av FreeOnlineTools Team · Uppdaterad 2026-08-28

Snabbt svar

Använd UUID v4 (random) som standard —den kräver ingen samordning och har försumbar kollisionsrisk. Använd v1 (time-based) bara när du behöver time-orderable ID:n. Använd v5 (namespace+name) för deterministiska ID:n. Generera valfri version med vår gratis UUID Generator.

Introduktion

En UUID (Universally Unique Identifier) är en 128-bit-identifierare renderad som 36 tecken i 8-4-4-4-12 hex-grupper, t.ex. 123e4567-e89b-12d3-a456-426614174000. RFC 9562 definierar flera versioner; de tre vanligaste är v1 (time + MAC), v4 (random) och v5 (namespace + name, SHA-1). Varje version gör olika trade-offs mellan unikhetsgarantier, sorterbarhet och determinism.

Steg för steg

  1. UUID v1 — tids- och nodbaserad

    v1 kodar den aktuella 60-bitars tidsstämpeln (100-ns intervaller sedan 1582-10-15) och ett 48-bitars nod-ID (vanligtvis MAC-adressen). ID:n som genereras på samma nod är monotont ökande och tidssorterbara. Risk: MAC-adressen läcker hårdvaruidentitet och klockskevhet över noder kan bryta ordning.

  2. UUID v4 — slumpmässigt

    v4 använder 122 slumpmässiga bitar (6 bitar är fasta för versionen/varianten). Med 122 slumpmässiga bitar är sannolikheten för en kollision mellan 2,71 biljoner ID:n 50 % — för varje realistisk arbetsbelastning är chansen i praktiken noll. v4 behöver ingen samordning och avslöjar ingen värdinformation, vilket gör den till den säkraste standarden.

  3. UUID v5 —namnutrymme och namn (SHA-1)

    v5 hashar ett namnområde UUID och en namnsträng med SHA-1 för att producera ett deterministiskt 128-bitars ID. Samma (namnutrymme, namn) par ger alltid samma UUID, vilket är idealiskt för deduplicering och stabila ID:n som härrör från naturliga nycklar. v3 är samma idé men använder MD5 (undvik det).

  4. Jämför avvägningarna

    v1 är sorterbar men läcker MAC och behöver klocksynkronisering. v4 är slumpmässig och privat men osorterbar. v5 är deterministiskt och deduplicerar men är inte slumpmässigt — att gissa namnet låter en angripare reproducera UUID. Välj baserat på om du behöver ordning, slumpmässighet eller determinism.

  5. Välj rätt version för ditt fall

    Databasens primärnycklar: v4 (eller v7 i nyare system för tidsbeställning). Distribuerade system utan samordning: v4. Deterministiska ID:n från en naturlig nyckel (t.ex. URL →UUID): v5. Granskningsloggar som drar nytta av tidsordning: v1 med ett säkert slumpmässigt nod-ID.

Exempel

UUID v1 (tidsbaserad, sorterbar)

Input: Genererad 2026-08-28T12:00:00Z på nod 00:11:22:33:44:55

Produktion: 1ef7c1d0-2d3b-11f0-8000-001122334455 (versionssiffra '1', tidssorterbar)

UUID v4 (slumpmässigt)

Input: Random generation

Produktion: f47ac10b-58cc-4372-a567-0e02b2c3d479 (versionssiffra '4', slumpmässiga bitar)

UUID v5 (deterministisk från namnområde+namn)

Input: Namnutrymme DNS (6ba7b810-9dad-11d1-80b4-00c04fd430c8) + namn 'freeonlinetoolsgo.com'

Produktion: 74738ff5-5367-5958-9aeb-0c1f1f1f1f1f (samma ingång ger alltid samma utdata)

Vanliga problem

  • Lagring av UUID:er som VARCHAR(36) istället för en inbyggd 16-byte BINARY/UUID typ: detta slösar bort 2x lagring och bryter indexprestanda. Använd en inbyggd kolumntyp UUID där den är tillgänglig.
  • Använda v1 utan att säkra nod-ID: standard MAC-adressen läcker hårdvaruidentitet och är ett integritetsproblem. Ersätt det med ett kryptografiskt slumpmässigt 48-bitars värde per nod.
  • Om vi ​​antar att v4-kollisioner är omöjliga: det är de inte – de är bara astronomiskt osannolika. Med 122 slumpmässiga bitar behöver du ~2,71 biljoner ID:n för 50 % chans. För 1 miljard ID är chansen ~0,00000000000000001.
  • Användning av v3 (MD5-baserad) istället för v5 (SHA-1-baserad): MD5 är trasig, så v5 är att föredra. Båda är deterministiska, men v5 har starkare kollisionsmotstånd.

Tips

  • Standard till v4 för nästan alla användningsfall – det är slumpmässigt, privat och kollisionssäkert utan någon samordning.
  • Om du behöver tidssorterade slumpmässiga ID:n, titta på UUID v7 (RFC 9562, 2024) som kombinerar en Unix-tidsstämpel med slumpmässiga bitar — bättre än v1 för moderna databaser.
  • Använd v5 för att generera stabila ID:n från naturliga nycklar (URLs, e-postadresser) så att samma indata alltid mappas till samma UUID — användbart för deduplicering och idempotenta APIs.
  • Generera UUID på klienten när det är möjligt för att undvika en tur och retur till servern — vår UUID Generator körs helt i din webbläsare med crypto.getRandomValues().

Relaterade verktyg

Relaterade guider

Referenser