Przejdź do treści

Generator UUID

Generuj losowe UUID wersji 4, zwane też GUID — pojedynczo lub do 100 naraz. Pochodzą z kryptograficznie bezpiecznego generatora przeglądarki, a przed skopiowaniem jednego lub wszystkich możesz przełączyć na wielkie litery lub usunąć łączniki. Za darmo, bez rejestracji, a nic nie jest wysyłane na serwer.

Jak korzystać z generatora UUID

  1. 1. Wybierz, ile. Dowolna liczba całkowita od 1 do 100; domyślnie 5.
  2. 2. Naciśnij Generuj. Za każdym razem pojawia się nowa lista. Nic nie jest generowane, dopóki nie naciśniesz przycisku.
  3. 3. Wybierz format. Wielkie litery i Bez łączników przekształcają listę, którą już masz; nie generują nowych wartości.
  4. 4. Kopiuj. Każdy wiersz ma własny przycisk Kopiuj, a Kopiuj wszystko kopiuje całą listę, po jednym UUID w wierszu.

Budowa UUID wersji 4

UUID to 128-bitowy identyfikator zapisany jako 32 cyfry szesnastkowe w pięciu grupach oddzielonych łącznikami — 8-4-4-4-12 — czyli 36 znaków. Format opisuje RFC 9562 (2024), który zastąpił RFC 4122. Wersja 4 wypełnia prawie wszystkie bity losowymi danymi; stałe są tylko sześć:

CzęśćGdzieWartość
WersjaPierwsza cyfra trzeciej grupyZawsze 4
WariantPierwsza cyfra czwartej grupyJedna z 8, 9, a lub b
Bity losoweCała reszta122 bity

Przykład, taki jaki daje losowość narzędzia: e1f22e6e-ea3f-42a7-b43d-164b51542675. Trzecia grupa zaczyna się od 4, a czwarta od b, jak musi być w każdym UUID v4. Twój będzie inny; o to chodzi.

Czy dwa UUID kiedykolwiek się zderzą?

Przy 122 losowych bitach istnieje 2122 możliwych wartości, czyli około 5,3 × 1036. Według paradoksu urodzin potrzeba około 2,7 × 1018 UUID, by mieć nawet 50% szansy, że dwa się zgadzają. Generując miliard na sekundę, zajęłoby to około 86 lat. W typowych zastosowaniach — kluczach bazy danych, identyfikatorach żądań, nazwach plików — kolizje nie są praktycznym problemem, pod warunkiem dobrego źródła losowości. To narzędzie używa kryptograficznego generatora przeglądarki (crypto.randomUUID, z rezerwą crypto.getRandomValues), a nie Math.random.

Która wersja UUID jest potrzebna?

WersjaZbudowana zTypowe zastosowanie
1Czasu zegarowego (kalendarz gregoriański) i identyfikatora węzłaSystemy zastane; może ujawnić, kiedy i gdzie powstał
3 i 5Skrótu (MD5 lub SHA-1) przestrzeni nazw i nazwyStałe identyfikatory wyprowadzone z nazwy
4Losowych bitówOgólne unikalne identyfikatory — to tworzy to narzędzie
7Znacznika czasu Unix w milisekundach, a potem losowych bitówKlucze bazy danych sortowane według czasu utworzenia

RFC 9562 zauważa, że losowość v4 daje słabą lokalność w indeksach bazy danych, i zaleca wersję 7 zamiast wersji 1 i 6 dla identyfikatorów opartych na czasie. Jeśli tabela jest duża, a wstawień dużo, uporządkowane czasowo v7 może lepiej pasować. Ta strona generuje tylko v4. RFC zaleca też przechowywanie UUID w bazie danych jako 16-bajtowych danych binarnych tam, gdzie to możliwe, bo tekst zajmuje 36 znaków.

Formaty: łączniki, wielkość liter i GUID

RFC 9562 dopuszcza cyfry szesnastkowe małymi, wielkimi lub mieszanymi literami, a ten sam UUID zapisany w dowolnej wielkości liter to ten sam identyfikator. Standardowa forma tekstowa ma łączniki; 32-cyfrowa forma bez nich to częsty wariant, który wiele baz danych i API przyjmuje, ale sprawdź swoje przed użyciem. GUID to nazwa Microsoftu dla tego samego 128-bitowego identyfikatora, więc UUID v4 z tej strony działa wszędzie tam, gdzie oczekiwany jest GUID.

Najczęstsze pytania

Czym jest UUID v4?
Uniwersalnie unikalny identyfikator o 128 bitach, z których 122 są losowe, a sześć oznacza wersję (4) i wariant. Zapisuje się go na przykład tak: 550e8400-e29b-41d4-a716-446655440000.
Czy dwa wygenerowane UUID mogą się zderzyć?
W teorii tak; w praktyce nie. Istnieje około 5,3 × 1036 możliwych wartości, a 50% szansy na jakąkolwiek kolizję wymaga około 2,7 × 1018 UUID, czyli około 86 lat przy miliardzie na sekundę.
Czy losowość jest kryptograficznie bezpieczna?
Tak. Narzędzie wywołuje crypto.randomUUID przeglądarki, a tam gdzie go brakuje, crypto.getRandomValues — oba używają kryptograficznie bezpiecznego generatora liczb losowych, a nie Math.random.
Czy UUID są generowane na serwerze?
Nie. Powstają w przeglądarce, nie są nigdzie wysyłane ani przechowywane. Ponowne generowanie daje zupełnie nową listę.
Czy UUID to to samo co GUID?
Tak. GUID to nazwa Microsoftu dla tego samego 128-bitowego identyfikatora. UUID v4 można użyć jako GUID bez zmian; narzędzia Windows czasem pokazują GUID wielkimi literami lub w nawiasach klamrowych.
Co robią opcje Wielkie litery i Bez łączników?
Zmieniają tylko sposób zapisu każdej wartości. Wielkie litery zamieniają litery szesnastkowe na duże, co RFC 9562 traktuje jako ten sam UUID. Bez łączników usuwa myślniki, dając 32 znaki; używaj tego tylko tam, gdzie system odbiorczy oczekuje takiej formy.
Czy mogę użyć UUID jako sekretu lub hasła?
Nie. UUID ma być unikalny, a nie tajny. RFC 9562 mówi, że implementacje nie powinny zakładać, iż UUID są trudne do odgadnięcia, i nie mogą ich używać jako zdolności bezpieczeństwa. Do sekretów użyj Generatora haseł.

Powiązane narzędzia

Więcej z kategorii Dane, znaczniki i kod