Generator UUID
Unikalne identyfikatory do baz danych, API i testów, jednym kliknięciem.
Działa w przeglądarce. Nic, co wpiszesz, nie jest nigdzie wysyłane.
- Wersje 4 i 7
- Do 1000 naraz
- Bezpieczne liczby losowe
Jak wygenerować UUID
- Wybierz wersję 4 dla losowych identyfikatorów, albo wersję 7 dla identyfikatorów uporządkowanych czasowo.
- Ustaw, ile potrzebujesz, i wybierz format.
- Kliknij Generuj, a potem skopiuj albo pobierz listę.
Porównanie wersji UUID
| Wersja | Zbudowana z | Sortuje czasowo? |
|---|---|---|
| v4 (to narzędzie) | 122 losowe bity | Nie |
| v7 (to narzędzie) | 48-bitowy znacznik czasu plus losowe bity | Tak |
| v1 (niedostępna tutaj) | Znacznik czasu plus adres MAC urządzenia | Tak, 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 szesnastkowa | 4 dla wersji 4 albo 7 dla wersji 7, w 3. grupie |
| Bity wariantu | 2 górne bity 4. grupy | Ustawione na 10 dla wariantu UUID z tego RFC |
| Całkowita długość | 36 znaków | 32 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.