Generator i walidator UUID

Twórz kryptograficznie losowe UUID v4 lub sortowalne v7, pojedynczo lub po tysiąc naraz, i analizuj dowolny UUID lub GUID, aby poznać jego wersję i osadzony znacznik czasu.

Działa w przeglądarceBez rejestracjiNic nie jest wysyłane

Wygenerowane UUID

Jak używać: Generator UUID

  1. Wybierz v4 dla w pełni losowego ID lub v7 dla identyfikatorów sortowanych według czasu utworzenia.
  2. Ustaw, ile potrzebujesz (do 1000), i kliknij Generuj.
  3. Opcjonalnie przełącz na wielkie litery, usuń myślniki lub dodaj nawiasy klamrowe dla GUID w stylu Microsoftu.
  4. Kliknij duży UUID, aby go skopiować, lub użyj Kopiuj wszystkie / Pobierz .txt dla całej partii.
  5. Wklej dowolny UUID do analizatora, aby go zwalidować i odczytać wersję, wariant i znacznik czasu.

Czym jest UUID?

UUID (Universally Unique Identifier), na platformach Microsoftu nazywany GUID, to 128-bitowa wartość zapisywana jako 32 cyfry szesnastkowe w pięciu grupach: 8-4-4-4-12. Format definiuje RFC 9562, które w 2024 r. zastąpiło RFC 4122. Jedna cyfra koduje wersję (13. cyfra hex), a najstarsze bity 17. cyfry kodują wariant.

UUID v4 a UUID v7

v4v7
Zawartość122 losowe bity48-bitowy znacznik czasu Unix w milisekundach + 74 losowe bity
Kolejność sortowaniaLosowaChronologiczna
Indeks w bazie danychLosowe wstawienia fragmentują indeksy B-treeDopisuje na końcu, znacznie przyjaźniejszy dla indeksów
Ujawnia czas utworzeniaNieTak

Używaj v7 dla kluczy głównych w bazach danych i ID zdarzeń, gdzie liczy się kolejność wstawiania. Używaj v4, gdy ID nie może zdradzać, kiedy coś utworzono. Ten generator utrzymuje ściśle rosnące ID v7, nawet gdy wiele z nich powstaje w tej samej milisekundzie.

Jak bardzo są unikalne?

Przy 122 losowych bitach trzeba by wygenerować około 2,7 tryliona UUID v4, aby osiągnąć 50% szans na choćby jedną kolizję. Ta strona używa kryptograficznie bezpiecznego generatora liczb losowych przeglądarki (crypto.getRandomValues), nigdy Math.random().

Generowanie UUID w kodzie

// JavaScript (browsers, Node 19+)
crypto.randomUUID()
# Python
import uuid; uuid.uuid4()
-- PostgreSQL 13+
SELECT gen_random_uuid();

Najczęściej zadawane pytania

Czy te UUID są bezpieczne do użycia na produkcji?
Tak. Są generowane lokalnie bezpiecznym generatorem liczb losowych Web Crypto API i są zgodne z RFC 9562. Nic nie jest wysyłane na serwer ani przez niego logowane.
Czym różni się UUID od GUID?
To to samo. GUID to nazwa używana przez Microsoft, często zapisywana wielkimi literami w nawiasach klamrowych, np. {3F2504E0-4F89-11D3-9A0C-0305E82C3301}. Użyj powyższych opcji, aby uzyskać ten format.
Czy z UUID można odczytać czas utworzenia?
Tylko w wersjach opartych na czasie. v7 przechowuje milisekundy Unix w pierwszych 48 bitach, a v1 i v6 – znacznik czasu w jednostkach 100 nanosekund. Wklej taki UUID do analizatora, aby zobaczyć datę. v4 nie zawiera informacji o czasie.
Czy używać UUID jako kluczy głównych w bazie danych?
Sprawdzają się w systemach rozproszonych i jako publiczne ID. Wybieraj v7 zamiast v4, aby nowe wiersze trafiały na koniec indeksu, i przechowuj je w natywnej kolumnie uuid lub 16-bajtowej binarnej, a nie jako 36-znakowy ciąg.
Czym jest nil UUID?
To wartość złożona z samych zer, 00000000-0000-0000-0000-000000000000, używana jako symbol zastępczy oznaczający „brak UUID”. RFC 9562 definiuje też max UUID złożony z samych f.

Powiązane narzędzia