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. Wybierz, ile. Dowolna liczba całkowita od 1 do 100; domyślnie 5.
- 2. Naciśnij Generuj. Za każdym razem pojawia się nowa lista. Nic nie jest generowane, dopóki nie naciśniesz przycisku.
- 3. Wybierz format. Wielkie litery i Bez łączników przekształcają listę, którą już masz; nie generują nowych wartości.
- 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ęść | Gdzie | Wartość |
|---|---|---|
| Wersja | Pierwsza cyfra trzeciej grupy | Zawsze 4 |
| Wariant | Pierwsza cyfra czwartej grupy | Jedna z 8, 9, a lub b |
| Bity losowe | Cała reszta | 122 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?
| Wersja | Zbudowana z | Typowe zastosowanie |
|---|---|---|
| 1 | Czasu zegarowego (kalendarz gregoriański) i identyfikatora węzła | Systemy zastane; może ujawnić, kiedy i gdzie powstał |
| 3 i 5 | Skrótu (MD5 lub SHA-1) przestrzeni nazw i nazwy | Stałe identyfikatory wyprowadzone z nazwy |
| 4 | Losowych bitów | Ogólne unikalne identyfikatory — to tworzy to narzędzie |
| 7 | Znacznika czasu Unix w milisekundach, a potem losowych bitów | Klucze 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ł.