Jak korzystać z narzędzia
- 1Nowy UUID w wersji 4 pojawia się od razu po wczytaniu strony. Kliknij „Kopiuj”, aby go użyć.
- 2Wybierz „Wersja 7”, jeśli identyfikatory mają się sortować według czasu utworzenia, i określ, ile ich potrzebujesz – maksymalnie 100.
- 3Włącz „Wielkie litery”, „Bez łączników” lub „W nawiasach klamrowych”, aby dopasować format do oczekiwań Twojego kodu.
- 4Wklej istniejący UUID w polu „Sprawdź UUID”, aby upewnić się, że jest prawidłowy, i zobaczyć jego wersję, wariant, a w przypadku wersji opartych na czasie – moment utworzenia.
Czym jest UUID?
UUID (universally unique identifier, uniwersalnie unikalny identyfikator), w świecie Microsoftu nazywany GUID, to 128-bitowa liczba zapisywana jako 32 cyfry szesnastkowe w pięciu grupach, np. f47ac10b-58cc-4372-a567-0e02b2c3d479. Każdy komputer może go utworzyć bez pytania centralnego serwera i jest praktycznie pewne, że nikt inny nigdy nie utworzy takiego samego. Dlatego UUID są popularne jako klucze w bazach danych, nazwy plików i identyfikatory żądań – wszędzie tam, gdzie rekordy powstają w wielu miejscach jednocześnie.
Format definiuje dokument RFC 9562, który w 2024 roku zastąpił RFC 4122. Pierwsza cyfra trzeciej grupy to wersja – w powyższym przykładzie 4 – a pierwsza cyfra czwartej grupy wskazuje wariant, który w standardowych UUID wynosi 8, 9, a lub b.
Wersja 4 czy wersja 7?
Wersja 4 to 122 bity czystej losowości. Nie zdradza, kiedy ani gdzie powstał identyfikator, i jest właściwym wyborem domyślnym w większości zastosowań. Trzeba by wygenerować około 103 bilionów takich identyfikatorów, żeby szansa na choćby jeden duplikat wyniosła jeden do miliarda.
Wersja 7 zaczyna się od 48-bitowego znacznika czasu w milisekundach, po którym następują losowe bity, więc UUID utworzone później sortują się po wcześniejszych. Bazy danych dodają wtedy nowe klucze na końcu indeksów, a nie w przypadkowych miejscach, co przyspiesza wstawianie rekordów i utrzymuje indeksy w zwartej postaci. Cena: każdy może odczytać z UUID czas jego utworzenia, co pokazuje narzędzie do sprawdzania UUID na tej stronie.
Jak generowane są te UUID
Wszystko dzieje się w Twojej przeglądarce. UUID w wersji 4 pochodzą z funkcji crypto.randomUUID(), która korzysta z kryptograficznie bezpiecznego generatora liczb losowych systemu operacyjnego. UUID w wersji 7 łączą bieżący czas z losowymi bitami z crypto.getRandomValues(), a licznik sprawia, że są ściśle rosnące nawet wtedy, gdy generujesz wiele w tej samej milisekundzie – zgodnie z zaleceniami RFC 9562.
Nic nie jest wysyłane na serwer ani nigdzie zapisywane, więc wygenerowane tu identyfikatory należą tylko do Ciebie.
Pytania i odpowiedzi
Czy UUID są naprawdę unikalne?
Nie ma gwarancji, ale do wszelkich praktycznych zastosowań – wystarczająco. Przy 122 losowych bitach kolizja w wersji 4 jest znacznie mniej prawdopodobna niż awaria sprzętu, która uszkodzi Twoje dane. Duplikaty stają się realnym ryzykiem tylko wtedy, gdy generator liczb losowych jest wadliwy – dlatego to narzędzie korzysta z kryptograficznego generatora przeglądarki.
Czym różni się UUID od GUID?
W praktyce niczym. GUID (globally unique identifier) to nazwa, którą Microsoft stosuje dla tego samego 128-bitowego formatu. Narzędzia Windows często pokazują GUID-y wielkimi literami i w nawiasach klamrowych, np. {F47AC10B-58CC-4372-A567-0E02B2C3D479} – aby uzyskać ten sam zapis, użyj opcji „Wielkie litery” i „W nawiasach klamrowych”.
Czy używać UUID jako kluczy głównych w bazie danych?
Sprawdzają się, gdy rekordy powstają w wielu miejscach albo gdy identyfikatory nie mogą zdradzać, ile jest rekordów. Do kluczy głównych wybieraj wersję 7 zamiast 4: dzięki uporządkowaniu czasowemu indeksy B-drzewa pozostają zwarte, a wstawianie szybkie. Przechowuj UUID w natywnej kolumnie uuid lub jako 16 bajtów, a nie jako 36-znakowy tekst.
Czy da się sprawdzić, kiedy utworzono UUID?
Tylko w przypadku wersji opartych na czasie. Wersje 1, 6 i 7 zawierają znacznik czasu, który odczytuje narzędzie do sprawdzania UUID na tej stronie. Wersja 4 jest całkowicie losowa, a wersje 3 i 5 to hashe nazwy, więc w ogóle nie zawierają czasu.
Czy UUID nadaje się na tajny token?
UUID w wersji 4 z kryptograficznego generatora trudno odgadnąć, ale nie został zaprojektowany jako sekret – UUID trafiają do logów, adresów URL i zrzutów ekranu. Do linków resetowania hasła, kluczy API czy tokenów sesji używaj specjalnie do tego przeznaczonych losowych tokenów. Nigdy nie używaj wersji 7 jako sekretu, bo część takiego UUID to przewidywalny znacznik czasu.