Jak używać
- Wybierz v4 dla losowych identyfikatorów lub v7 dla identyfikatorów sortowanych według czasu utworzenia.
- Ustaw liczbę identyfikatorów (od 1 do 1 000) i wybierz format: wielkie litery, łączniki i nawiasy klamrowe — z nimi lub bez nich.
- Skopiuj pojedynczy UUID za pomocą przycisku, skopiuj wszystkie albo pobierz plik tekstowy z jednym UUID w każdym wierszu.
- Aby sprawdzić istniejący UUID, wklej go w polu „Sprawdź UUID”.
Jak to działa
UUID (nazywany też GUID) to 128-bitowy identyfikator, zwykle zapisywany jako 32 cyfry szesnastkowe w pięciu grupach: 8-4-4-4-12. Pierwsza cyfra trzeciej grupy oznacza wersję, a pierwsza cyfra czwartej grupy określa wariant (8, 9, a lub b w przypadku standardowych UUID). Format ten definiuje RFC 9562, który w 2024 roku zastąpił RFC 4122.
UUID w wersji 4 są losowe. To narzędzie korzysta z crypto.randomUUID, jeśli jest dostępne, a w przeciwnym razie z crypto.getRandomValues. Obie metody są bezpieczne kryptograficznie; narzędzie nigdy nie używa Math.random. Przy 122 losowych bitach prawdopodobieństwo kolizji dwóch UUID v4 jest znikome: trzeba wygenerować około 2.7 × 10^18 UUID, aby prawdopodobieństwo wystąpienia choć jednego duplikatu wyniosło 50%.
UUID w wersji 7 zaczynają się od 48-bitowego znacznika czasu Unix w milisekundach, po którym następują oznaczenie wersji, pole 12-bitowe i 62 losowe bity. Ponieważ czas znajduje się na początku, wartości v7 sortują się według kolejności utworzenia, co pozwala zachować kompaktowość indeksów baz danych i przyspiesza wstawianie danych w porównaniu z losowymi kluczami v4. Gdy w tej samej milisekundzie powstaje kilka UUID v7, narzędzie używa 12-bitowego pola jako licznika (zgodnie z metodą opisaną w sekcji 6.2 RFC 9562), dzięki czemu wartości z jednej partii zawsze mają ściśle rosnącą kolejność. Pamiętaj, że UUID v7 ujawnia czas utworzenia.
Walidator akceptuje UUID z łącznikami lub bez nich, zapisane małymi lub wielkimi literami, w nawiasach klamrowych albo z prefiksem urn:uuid:. Podaje wersję i wariant, rozpoznaje specjalne UUID nil i max oraz pokazuje zakodowany czas utworzenia dla wersji 1, 6 i 7.
Przykłady
Klucze główne nowej tabeli
Wygeneruj 100 UUID v7 do danych testowych, na przykład 0192b3c4-5d6e-7f80-9a1b-2c3d4e5f6a7b. Można je sortować według czasu utworzenia, więc wiersze dodane później otrzymują większe klucze, podobnie jak w przypadku kolumny z automatycznie zwiększaną wartością.
GUID do projektu Windows lub .NET
Włącz opcje Wielkie litery i Nawiasy klamrowe, aby uzyskać format stosowany w rejestrze: {3F2504E0-4F89-41D3-9A0C-0305E82C3301}. Jest on używany w plikach projektów Visual Studio, identyfikatorach klas COM i rejestrze Windows.
Sprawdzanie identyfikatora z logu
Wklej 018f6e2c-1a2b-7c3d-8e4f-5a6b7c8d9e0f do walidatora. Poda on wersję 7 i standardowy wariant, a także odczyta pierwsze 12 cyfr jako znacznik czasu z maja 2024 roku, wskazujący, kiedy utworzono rekord.
Często zadawane pytania
Wybrać UUID v4 czy v7?
Wybierz v4, gdy identyfikatory nie powinny niczego ujawniać, na przykład w przypadku publicznych tokenów lub nazw plików. Wybierz v7 do kluczy baz danych i identyfikatorów zdarzeń, gdy sortowanie według czasu poprawia wydajność indeksów. Oba warianty mają wystarczająco dużo losowych bitów, by kolizje nie stanowiły praktycznego problemu.
Czy te UUID są naprawdę unikalne?
Nie są one porównywane z żadną listą, ale powstają przy użyciu kryptograficznie bezpiecznego generatora liczb losowych, więc prawdopodobieństwo duplikatu jest tak małe, że w rzeczywistych systemach można je zignorować. Wartości v7 zawierają też aktualny czas.
Czy UUID i GUID oznaczają to samo?
Tak. GUID (globalnie unikalny identyfikator) to nazwa używana przez firmę Microsoft dla tego samego 128-bitowego formatu. GUID często zapisuje się wielkimi literami i w nawiasach klamrowych — możesz włączyć taki format tutaj.
Czy mogę użyć UUID jako hasła lub tajnego tokenu?
UUID v4 ma 122 losowe bity, więc trudno go odgadnąć. UUID są jednak przeznaczone do identyfikacji, a nie do przechowywania sekretów, i często trafiają do logów oraz adresów URL. Do kluczy API lub linków resetujących użyj dedykowanego generatora losowych tokenów.
Czy znacznik czasu v7 korzysta z zegara mojego komputera?
Tak. Czas jest odczytywany z zegara urządzenia w milisekundach UTC. Jeśli zegar jest nieprawidłowo ustawiony, zakodowany czas również będzie nieprawidłowy, ale identyfikatory z jednej partii nadal będą ułożone rosnąco.
Prywatność
UUID są generowane w przeglądarce za pomocą jej kryptograficznego generatora liczb losowych. Nie są wysyłane na serwer, przechowywane ani rejestrowane, więc nikt inny nie zobaczy tworzonych ani sprawdzanych przez Ciebie wartości.