Generator UUID

Generuj uniwersalnie unikalne identyfikatory (UUID) przy użyciu algorytmów opartych na znacznikach czasu, aby zapobiec duplikatom.

Skróty klawiaturowe: R aby zregenerować UUID lub C aby go skopiować

Jak działają UUID

UUID v1 (Oparty na znaczniku czasu): Używa bieżącego znacznika czasu (interwały 100 nanosekund od 15 października 1582) w połączeniu z adresem MAC lub losowym identyfikatorem węzła. Zapewnia to unikalność między różnymi maszynami i zapobiega duplikatom nawet przy jednoczesnym generowaniu.

UUID v4 (Losowy): Używa kryptograficznie silnych liczb losowych. Chociaż teoretycznie możliwe są duplikaty, prawdopodobieństwo jest tak niskie (1 na 2^122), że jest pomijalne dla celów praktycznych.

UUID v7 (Nowoczesny znacznik czasu): Najnowsza wersja UUID, która łączy znacznik czasu Unix (48 bitów) z losowymi danymi (74 bity). Zapewnia to korzyści sortowania czasowego v1, zachowując prywatność v4, co czyni go idealnym dla kluczy głównych bazy danych.

Format: UUID to wartości 128-bitowe wyświetlane jako 32 cyfry szesnastkowe w formacie: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

Typowe zastosowania

UUID-y (zwane też GUID-ami) dają praktycznie nieograniczony zasób unikalnych identyfikatorów bez potrzeby koordynacji z centralnym rejestratorem. Oto kilka miejsc, w których są powszechnie używane:

Klucze główne w bazach danych

UUID pozwalają wielu usługom lub shardom generować klucze niezależnie, bez kolizji. Wersję UUID v7 wybiera się coraz częściej, bo jej wiodący znacznik czasu trzyma wstawienia blisko siebie i utrzymuje indeksy zwarte.

Systemy rozproszone

Gdy zdarzenia generowane są przez wiele węzłów, UUID na każde zdarzenie usuwa wąskie gardło centralnej sekwencji i pozwala śledzić logi przez granice usług.

Identyfikatory publiczne

UUID v4 w adresie URL nie ujawnia, ile rekordów istnieje, i nie naraża na ataki wyliczania tak, jak czyni to rosnąca liczba całkowita.

Klucze idempotencji

Klienci generują UUID na każde żądanie, dzięki czemu serwer potrafi rozpoznać ponowne próby i nie wykonuje tej samej akcji dwukrotnie.

Którą wersję wybrać?

  • Wybierz v4, jeśli potrzebujesz prostej losowości bez dodatkowych właściwości - to najbezpieczniejszy domyślny wybór dla większości aplikacji.
  • Wybierz v7, jeśli identyfikator ma być kluczem głównym w bazie danych lub trafić do indeksu, w którym liczy się kolejność wstawień. Wbudowany znacznik czasu sprawia, że wiersze grupują się obok siebie i znacząco poprawia wydajność zapisów przy dużej skali.
  • Wybieraj v1 tylko wtedy, gdy wyraźnie potrzebujesz wyprowadzać identyfikator ze znacznika czasu i identyfikatora węzła. W nowoczesnych aplikacjach v7 jest lepszym wyborem dla tego samego scenariusza i nie ujawnia adresu MAC.

Najczęściej zadawane pytania

Czym jest UUID?

UUID (uniwersalnie unikalny identyfikator) to 128-bitowa wartość, zwykle zapisywana jako 32 cyfry szesnastkowe w formacie xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx. Różne wersje generują tę wartość różnymi strategiami (losowo, na podstawie znacznika czasu albo obu).

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

Odnoszą się do tego samego. GUID (globalnie unikalny identyfikator) to nazwa stosowana w ekosystemie Microsoftu; UUID to nazwa używana w RFC 4122 i wszędzie indziej. Format oraz gwarancje unikalności są identyczne.

Czy UUID-y są gwarantowanie unikalne?

Nie matematycznie - ale prawdopodobieństwo kolizji dla UUID v4 wynosi około 1 na 2^122, czyli daleko poniżej jakiegokolwiek praktycznego progu. W przypadku UUID v1 i v7 znacznik czasu oraz bity węzła lub losowe w praktyce eliminują kolizje.

Czy do kluczy głównych w bazie wybrać UUID v4 czy v7?

UUID v7 jest zazwyczaj lepszy jako klucz główny. Ponieważ jego wiodące bity to znacznik czasu Unix, nowe wiersze trafiają blisko siebie na dysku, co utrzymuje indeksy zwarte, a zapisy szybkie. Z v4 korzystaj tylko, gdy kolejności wstawień bezwzględnie nie można z niczego wywnioskować.

Czy potrzebuję generatora UUID v1?

Rzadko. UUID v1 zawiera adres MAC maszyny generującej (lub jego losowy substytut), co może ujawnić informacje. UUID v7 oferuje tę samą właściwość sortowania w czasie bez tego problemu i dziś niemal zawsze jest lepszym wyborem.

Czy ten generator UUID jest darmowy?

Tak. Całe generowanie odbywa się w Twojej przeglądarce, nie ma limitu użycia i nie wymagamy konta. Możesz generować pojedyncze UUID-y tutaj albo przejść do generatora masowego, tworzącego do 500 naraz.

Niemal nie używamy plików cookie

Używamy tylko ściśle niezbędnych plików cookie, które zwiększają bezpieczeństwo witryny i poprawiają doświadczenie użytkownika. Nie śledzimy Twojego zachowania ani aktywności.