Generator UUID

Unikalne identyfikatory do baz danych, API i testów, jednym kliknięciem.

Format

Działa w przeglądarce. Nic, co wpiszesz, nie jest nigdzie wysyłane.

Jak wygenerować UUID

  1. Wybierz wersję 4 dla losowych identyfikatorów, albo wersję 7 dla identyfikatorów uporządkowanych czasowo.
  2. Ustaw, ile potrzebujesz, i wybierz format.
  3. Kliknij Generuj, a potem skopiuj albo pobierz listę.

Porównanie wersji UUID

WersjaZbudowana zSortuje czasowo?
v4 (to narzędzie)122 losowe bityNie
v7 (to narzędzie)48-bitowy znacznik czasu plus losowe bityTak
v1 (niedostępna tutaj)Znacznik czasu plus adres MAC urządzeniaTak, ale może zdradzić, które urządzenie go utworzyło

Struktura UUID według RFC 9562

CzęśćDługośćZnaczenie
Bit wersji (nibble)1 cyfra szesnastkowa4 dla wersji 4 albo 7 dla wersji 7, w 3. grupie
Bity wariantu2 górne bity 4. grupyUstawione na 10 dla wariantu UUID z tego RFC
Całkowita długość36 znaków32 cyfry szesnastkowe plus 4 myślniki

Wskazówki dotyczące używania UUID

  • Przechowuj UUID w natywnej kolumnie typu UUID albo binarnej 16-bajtowej, jeśli twoja baza danych to oferuje. Zapisanie ich jako 36-znakowy tekst mniej więcej podwaja zajmowane miejsce.
  • Znacznik czasu na początku wersji 7 sprawia, że identyfikatory sortują się według czasu powstania, ale oznacza to też, że każdy, kto ma taki identyfikator, może w przybliżeniu odczytać, kiedy powstał, co do milisekundy.
  • Format z nawiasami klamrowymi i bez myślników odpowiada temu, jak niektóre starsze API Windows i skrypty PowerShell oczekują zapisu GUID.

Generator UUID: najczęstsze pytania

Jaka jest różnica między UUID v4 a v7?

Wersja 4 to 122 losowe bity. Wersja 7 zaczyna się od 48-bitowego znacznika czasu w milisekundach, po którym następują losowe bity, dzięki czemu nowsze identyfikatory sortują się po starszych.

Czy dwa UUID mogą się kiedyś powtórzyć?

W praktyce nie. Trzeba by wygenerować około 103 bilionów UUID wersji 4, żeby mieć jedną szansę na miliard na pojedynczy duplikat.

Czy GUID to to samo co UUID?

Tak. GUID to nazwa, której Microsoft używa dla tego samego formatu 128-bitowego. Zaznacz Wielkie litery i Nawiasy klamrowe, aby uzyskać styl {XXXXXXXX-XXXX-...} używany w Windows i .NET.

Której wersji użyć jako klucza głównego w bazie danych?

Wersji 7. Jej wartości pojawiają się w kolejności czasowej, więc nowe wiersze trafiają na koniec indeksu zamiast w losowe miejsca, co utrzymuje szybkość wstawiania danych. Użyj wersji 4, gdy identyfikator nie może zdradzać, kiedy powstał.

Czy mogę użyć UUID jako hasła albo tajnego tokenu?

Losowe bity pochodzą z kryptograficznie bezpiecznego generatora twojej przeglądarki, ale UUID ma służyć jako identyfikator. Identyfikatory wersji 7 dodatkowo ujawniają czas powstania, więc do sekretów użyj generatora haseł.

Ile znaków ma UUID?

36 znaków z myślnikami: 32 cyfry szesnastkowe i 4 myślniki, co razem koduje 128 bitów danych.

Czy to używa kryptograficznie bezpiecznego źródła losowości?

Tak. Obie wersje powstają dzięki crypto.getRandomValues (albo crypto.randomUUID dla wersji 4), kryptograficznie bezpiecznemu generatorowi liczb losowych przeglądarki, nigdy dzięki Math.random.

Podobne narzędzia