raatools/

UUID-generator

Generera slumpmässiga v4-UUIDs — en eller flera.

1

Vad är ett UUID?

Ett UUID (Universally Unique Identifier) är en 128-bitars identifierare som garanteras vara globalt unik utan central koordinering. Standardformatet är 32 hexadecimala siffror i fem grupper separerade med bindestreck: 550e8400-e29b-41d4-a716-446655440000. UUID:er används som primärnycklar i databaser, sessions-ID:n, korrelations-ID:n i distribuerade system och filnamn.

UUID-standarden (RFC 4122) definierar flera versioner: Version 1 (tidsbaserad + MAC-adress), Version 4 (helt slumpmässig — den vanligaste), Version 5 (namnbaserad med SHA-1) och den nya Version 7 (tidsordnad + slumpmässig — rekommenderad för databaser). Med 2^122 möjliga Version 4 UUID:er är sannolikheten för en kollision astronomiskt liten — du skulle behöva generera 2,71 trillioner UUID:er för 50% chans för en duplikat.

UUID v4-format

UUID v4 anvander 122 slumpmassiga bitar (de aterstaende 6 bitarna kodar version och variant). Formatet ar xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx dar varje x ar en slumpmassig hex-siffra och y ar en av 8, 9, A eller B. Fyran i den tredje gruppen identifierar det som version 4. Varje UUID v4 genereras oberoende med kryptografisk slumpmassighet.

Hur du använder detta verktyg

Klicka för att generera ett eller flera UUID:er i valfri version (v1, v4, v7). Verktyget visar UUID:t i standard-, braces- och urn-format, samt rå hex utan bindestreck. Du kan generera upp till 100 UUID:er åt gången. Varje UUID genereras med kryptografiskt säker slumptalsgenerering. Verktyget visar också versionens förklaring och tidskomponenten (för v1 och v7).

Vanliga anvandningsomraden for UUID

  • Databasnycklar: UUID:er gor det mojligt for distribuerade system att skapa poster oberoende utan nyckelkollisioner, till skillnad fran auto-inkrementerande heltal som kraver koordinering.
  • API-forfragan-ID:n: Bifoga ett UUID till varje API-forfragan for end-to-end-sparning over mikrotjanster.
  • Sessionstokens: Skapa unika sessionsidentifierare som ar omojliga att gissa.
  • Filnamn: Generera unika filnamn for att forhindra kollisioner nar flera anvandare laddar upp samtidigt.
  • Idempotensnycklar: Anvand UUID:er i betalnings-API:er for att sakerstalla att samma transaktion inte behandlas tva ganger.

Kollisionssannolikhet

UUID v4 har 122 slumpmassiga bitar, vilket ger 5,3 x 10 upphojt till 36 mojliga varden. Sannolikheten att generera tva identiska UUID:er ar astronomiskt liten. Du skulle behova generera 2,71 x 10 upphojt till 18 UUID:er (2,71 kvintiljoner) innan du nar 50% sannolikhet for en enda kollision. I praktiken ar kollisioner inte ett realistiskt problem for nagon applikation.

Nil UUID

Nil UUID (00000000-0000-0000-0000-000000000000) ar ett speciellt varde definierat i RFC 4122 som en platshallare eller standardvarde. Vissa applikationer anvander det for att representera 'inget varde' eller 'okant' i UUID-typade databaskolumner, liknande hur null fungerar for andra datatyper.

UUID-versioner

UUID v1 anvander aktuell tidsstampel och enhetens MAC-adress -- snabbt men kan potentiellt avsloja enhetsinformation. UUID v3 och v5 genererar deterministiska UUID:er fran en namnrymd och namn med MD5 respektive SHA-1. UUID v4 anvander ren slumpmassighet och erbjuder den basta kombinationen av unikhet, enkelhet och integritet. UUID v7 (utkast till standard) kombinerar ett tidsstampelprefix med slumpmassighet for tidssorterbara UUID:er.

Ar mitt UUID sakert?

Ja. Genereringen anvander webblasarens inbyggda crypto.randomUUID() API, som ger kryptografiskt sakerstalld slumpmassighet. All bearbetning sker lokalt pa din enhet. Inga UUID:er loggas, lagras eller skickas till nagon server.

Vanliga frågor

Är UUID:er verkligen unika?

I praktiken ja. Version 4 UUID:er har 122 slumpmässiga bitar — 5,3 * 10^36 möjliga värden. Du skulle behöva generera 1 miljard UUID:er per sekund i 86 år för att nå 50% kollisionsrisk. Risken är lägre än att bli träffad av en meteorit. Databaser bör ändå ha en unikhetsbegränsning som säkerhetsbälte, men i praktiken sker kollisioner inte.

Ska jag använda UUID eller auto-increment ID?

UUID:er är bäst för distribuerade system (inga databaskonflikter vid sammanslagning, kan genereras offline, avslöjar ingen sekvens). Auto-increment är bäst för enkel databas (mindre lagring: 4-8 byte kontra 16 byte, bättre indexerings-prestanda, enklare att felsöka). UUID v7 är en bra kompromiss — tidsordnad som auto-increment men globalt unik som UUID.