UUID
UUID-generator
Generera slumpmässiga UUID:er version 4.
Om UUID
En UUID (Universally Unique Identifier) är ett 128-bitarsvärde, nästan alltid visat som 32 hexadecimala siffror i fem bindestreckade grupper. En version 4-UUID genereras från slumpmässiga bitar, så två oberoende genererade UUID:er är i praktiken aldrig lika.
Version 4, som genereras här, är bara en av flera aktivt använda UUID-versioner. Version 1 kodar den genererande maskinens MAC-adress och en tidsstämpel — användbart för sortering, men det läcker information som ett slumpmässigt ID inte gör. Version 3 och 5 är deterministiska hashar av en namnrymd och ett namn, så samma indata ger alltid samma UUID, vilket är användbart för innehållsadresserade identifierare. Den nyare version 7 packar en tidsstämpel i millisekunder i de ledande bitarna specifikt så att UUID:er sorterar kronologiskt, något version 4:s rena slumpmässighet aldrig kan göra.
Var du stöter på det
- Primärnycklar för databasrader som inte behöver vara sekventiella
- Idempotensnycklar för API-anrop
- Unika identifierare för sessioner, förfrågningar eller händelser i distribuerade system
- Anonyma identifierare som, till skillnad från auto-inkrementerade ID:n, inte läcker skapandeordning
Vanliga frågor
Kan två genererade UUID:er kollidera?
I teorin ja, i praktiken nej — version 4-UUID:er har 122 slumpmässiga bitar, så risken för en kollision är försumbar även med miljarder ID:n.
Går UUID:er att sortera efter skapandetid?
Inte version 4. Om du behöver ID:n som går att sortera efter tid, titta på tidsordnade alternativ som UUIDv7 eller ULID.
Finns det något hemligt kodat i en UUID?
Nej, en v4-UUID är bara slumpmässiga bitar — den kodar inte servern, användaren eller tiden som genererade den.
Varför inte bara använda UUIDv1 eller det nyare UUIDv7 i stället?
Olika versioner ger olika avvägningar. UUIDv4, som det här verktyget genererar, är ren slumpmässighet utan ordning och utan inbäddad information — rätt val när du specifikt inte vill att ett ID ska avslöja när eller var det skapades. UUIDv1 bäddar in en tidsstämpel och MAC-adress; UUIDv7 bäddar bara in en tidsstämpel, vilket ger ID:n som sorterar efter skapandetid, något databaser indexerar mycket effektivare än slumpmässiga v4-värden. Välj v7 om prestanda för infogningsordning spelar roll och det är okej att avslöja skapandetiden.