Przejdź do treści

Generator UUID / GUID

Generuj unikalne identyfikatory UUID i GUID. Wybierz wersję, liczbę, format i natychmiast je skopiuj.

Jak działa generator UUID

UUID (Universally Unique Identifier) to 128-bitowy identyfikator zdefiniowany w standardzie RFC 9562. Wersja 4 (v4) używa danych losowych. Wersja 7 (v7) łączy czas Unix w milisekundach z losowymi bitami, dzięki czemu lepiej nadaje się do identyfikatorów sortowalnych czasowo. Cały proces odbywa się w przeglądarce.

Gdzie przyda się generator UUID

  • Klucze główne w bazach danych
  • Identyfikatory żądań API i transakcji
  • Unikalne nazwy plików i zasobów
  • Identyfikatory korelacji dla logów i diagnostyki
  • Testowanie i rozwój oprogramowania

Którą wersję UUID wybrać

W większości przypadków wystarczy UUID v4. Jeśli przechowujesz identyfikatory w bazie danych albo często sortujesz je według czasu utworzenia, UUID v7 może być praktyczniejszym wyborem.

Co zawiera UUID

Wskaż element na liście, a zostanie podświetlony.

Budowa UUID w wersji 4 i w wersji 7 UUID w wersji 4 i 7 podzielone na grupy 8-4-4-4-12 z zaznaczoną wersją, wariantem, losowymi bitami i znacznikiem czasu w wersji 7. UUID v4 f 4 7 a c 1 0 b - 5 8 c c - 4 3 7 2 - a 5 6 7 - 0 e 0 2 b 2 c 3 d 4 7 9 UUID v7 0 1 9 2 0 c 3 e - 7 b 4 a - 7 c 1 d - 9 f 2 e - 5 b 6 a 8 c 0 d 1 e 2 f 8 4 4 4 12 czas w milisekundach
  1. Grupy 8-4-4-4-12. 32 znaki szesnastkowe (128 bitów) rozdzielone myślnikami. Z myślnikami UUID ma 36 znaków.
  2. Wersja. Pierwszy znak trzeciej grupy mówi, jak UUID powstał: 4 oznacza losowo, 7 na podstawie czasu.
  3. Wariant. Wariant to pierwsze dwa bity czwartej grupy (binarnie 10). Dlatego jej pierwszy znak to zawsze 8, 9, a albo b. Pozostałe dwa bity tego znaku są w wersji 4 losowe.
  4. Losowe bity. Wersja 4 ma 122 losowe bity, dlatego dwa wygenerowane UUID praktycznie nigdy się nie powtarzają.
  5. Znacznik czasu. Wersja 7 zaczyna się od czasu w milisekundach (48 bitów), więc nowsze UUID da się sortować według powstania.
Wersja Najlepsze użycie Uwaga
UUID v4 Publiczne ID, nazwy plików, dane testowe i zwykłe losowe identyfikatory Najbardziej znana i najszerzej wspierana opcja.
UUID v7 Rekordy bazy danych, logi, zdarzenia i identyfikatory korelacji Lepiej sortuje się według czasu utworzenia.

Format, myślniki i wielkość liter

Typowy zapis UUID ma 36 znaków wraz z myślnikami. Bez myślników ma 32 znaki szesnastkowe. Małe i wielkie litery oznaczają tę samą wartość; wybór zależy głównie od systemu, do którego wklejasz UUID.

Z myślnikami
018f6f5a-6c2b-7a1e-9f2d-0b4c8e7a9123
Bez myślników
018f6f5a6c2b7a1e9f2d0b4c8e7a9123

UUID nie jest tajnym tokenem

UUID jest identyfikatorem, a nie mechanizmem bezpieczeństwa. Może być trudny do odgadnięcia, ale nie powinien zastępować haseł, tokenów dostępu ani kontroli uprawnień.

  • Używaj go jako ID rekordu, pliku, zdarzenia lub żądania.
  • Nie traktuj go jako jedynej ochrony dostępu.
  • Jeśli UUID znajduje się w URL, traktuj go jak publiczny identyfikator.

FAQ

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

UUID v4 jest w całości losowe i to najczęściej używana wersja. UUID v7 zaczyna się od znacznika czasu w milisekundach, więc identyfikatory posortowane jak zwykły tekst układają się w kolejności utworzenia. Do ogólnego użycia wystarczy v4. Jako klucz główny w bazie danych lepsze bywa v7, bo nowe rekordy trafiają na koniec indeksu, co przy dużych tabelach przyspiesza zapis.

Czy generowane UUID są naprawdę unikalne?

Praktycznie tak. UUID v4 ma 122 losowe bity, a generator korzysta z kryptograficznego generatora liczb losowych przeglądarki. Żeby szansa na choćby jedną powtórkę wyniosła 50%, trzeba by wygenerować około 2,7 tryliona (2,7 × 1018) identyfikatorów. UUID v7 ma mniej losowych bitów, ale łączy je ze znacznikiem czasu, więc przy normalnym użyciu również się nie powtórzy.

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

UUID (Universally Unique Identifier) i GUID (Globally Unique Identifier) to zasadniczo to samo. Termin GUID jest częściej używany w środowisku Microsoftu, podczas gdy UUID jest standardowym terminem zgodnie z RFC 9562, który zastąpił starszy RFC 4122.