UltKit

UUID-generator

Opret tilfældige version 4-UUID'er, fra én til hundrede ad gangen, og kopiér dem som en liste. De kommer fra browserens kryptografisk sikre tilfældighedsgenerator, og en kontrol viser version og variant for enhver UUID, du indsætter.

0 tegn · 0 ord · 0 linjer

Kører udelukkende i denne browserfane. Din tekst bliver aldrig uploadet eller gemt.

UUID-versioner

Versionen er det første ciffer i tredje gruppe; varianten er kodet i det første ciffer i fjerde gruppe (8, 9, a eller b for RFC-UUID'er). Eksemplerne er testvektorerne fra RFC 9562.

VersionBygget påEksempel
v1Gregoriansk tidsstempel + node-ID (MAC)c232ab00-9414-11ec-b3c8-9f6bdeced846
v3MD5-hash af et namespace + navn5df41881-3aed-3515-88a7-2f4a814cf09e
v4122 tilfældige bits919108f7-52d1-4320-9bac-f847db4148a8
v5SHA-1-hash af et namespace + navn2ed6657d-e927-568b-95e1-2665a8aea6a2
v6v1-tidsstempel omordnet, så ID'er kan sorteres efter tid1ec9414c-232a-6b00-b3c8-9f6bdeced846
v7Unix-millisekunder + tilfældige bits, sorterbar017f22e2-79b0-7cc3-98c4-dc0c0c07398f
v8Brugerdefineret layout bestemt af applikationen2489e9ad-2ee2-8e00-8ec9-32d5f69181c0

Hvad en UUID er, og hvordan man læser den

En UUID (universally unique identifier, kaldet GUID i Microsoft-software) er et 128-bit-tal skrevet som 32 hexadecimale cifre i grupper på 8-4-4-4-12, for eksempel f47ac10b-58cc-4372-a567-0e02b2c3d479. Den blev standardiseret i RFC 4122 i 2005. I maj 2024 blev dokumentet afløst af RFC 9562, som bevarer de gamle versioner og tilføjer tre nye. To positioner er faste: det første ciffer i tredje gruppe er versionen (4-tallet i 4372), og det første ciffer i fjerde gruppe viser varianten, som er 8, 9, a eller b for alle UUID'er, der følger RFC'en.

Version 4 fylder de øvrige 122 bit med tilfældige data. Rummet er så stort, at man skulle generere omkring 2,7 trillioner (2,7 × 10¹⁸) for at have 50 % chance for en eneste dublet. Derfor kan systemer oprette v4-ID'er uafhængigt af hinanden på mange maskiner uden at koordinere. Denne side bruger crypto.randomUUID, eller crypto.getRandomValues hvor den mangler, aldrig Math.random, hvis output ikke er designet til at være uforudsigeligt. Indstillingerne Uppercase og Without hyphens ændrer kun formateringen. Værdien er den samme, og de fleste parsere accepterer begge skrivemåder.

v4, v7 og de andre versioner

Version 1 og 6 er bygget af et tidsstempel og et node-ID, oprindeligt computerens MAC-adresse, hvilket afslører, hvor og hvornår ID'et blev lavet. Version 3 og 5 hasher et navneområde og et navn med MD5 eller SHA-1, så samme input altid giver samme UUID. Version 8 er et frit layout til egne løsninger. Den vigtigste nyhed er version 7: den starter med et 48-bit Unix-tidsstempel i millisekunder og fylder resten med tilfældige bit, så ID'erne kan sorteres efter oprettelsestidspunkt.

Den rækkefølge er grunden til at overveje v7 som primærnøgle i en database. Tilfældige v4-nøgler havner overalt i et B-træ-indeks, hvilket splitter sider og forringer cache-lokaliteten, efterhånden som tabellen vokser. v7-nøgler kommer i nogenlunde stigende rækkefølge som en auto-increment-kolonne, men kan stadig genereres uden en central tæller. Vælg v4, når du vil have et ID, der ikke afslører noget, heller ikke hvornår det blev oprettet. Vælg v7, når indsættelsesydelse og tidsrækkefølge er vigtigt. En UUID er en identifikator, ikke en hemmelighed: til adgangskoder og API-nøgler bruger du en dedikeret adgangskodegenerator. Flere encodere og inspektører finder du under udviklerværktøjer.

Ofte stillede spørgsmål

Kan to tilfældigt genererede UUID'er nogensinde være ens?
I teorien ja, i praksis nej. Med 122 tilfældige bit ville selv en milliard v4-UUID'er i sekundet i omkring 86 år kun give cirka 50 % chance for én kollision, forudsat at den tilfældige kilde er pålidelig.
Hvad er forskellen på en UUID og en GUID?
Ingen af betydning. GUID er Microsofts navn for den samme 128-bit-identifikator. Nogle Microsoft-værktøjer viser GUID'er med store bogstaver eller omgivet af tuborgparenteser, og det accepterer kontrollen her.
Hvordan kan jeg se, hvilken version en UUID er?
Se på det første ciffer i tredje gruppe: 4 betyder tilfældig, 7 betyder tidsordnet, 1 betyder tidsstempel plus node. Indsæt den i Check a UUID for at se version og variant.
Bør jeg bruge UUIDv7 i stedet for v4 som databasenøgler?
Ofte ja. v7-nøgler er tidsordnede, hvilket holder B-træ-indeks kompakte og indsættelser hurtige. Hold dig til v4, hvis oprettelsestidspunktet i et v7-ID skal forblive privat.
Er det sikkert at bruge en UUID som token til nulstilling af adgangskode?
En v4-UUID fra en sikker generator har 122 tilfældige bit, hvilket er nok til at være umulig at gætte, men mange biblioteker har dedikerede token-funktioner med eksplicit udløb. Brug aldrig tidsbaserede versioner som v1 eller v7 som hemmeligheder.