🆔 Narzędzia UUID

Kompletny zestaw narzędzi do generowania i walidacji UUID/GUID obsługujący wszystkie wersje RFC 4122 oraz nowoczesne alternatywy jak ULID dla systemów rozproszonych.

Czym są UUID?

UUID (Uniwersalnie Unikalny Identyfikator) to ustandaryzowany format identyfikatora zaprojektowany tak, aby był globalnie unikalny w przestrzeni i czasie. UUID to wartości 128-bitowe zwykle reprezentowane jako 32 cyfry szesnastkowe, wyświetlane w pięciu grupach oddzielonych myślnikami: 123e4567-e89b-12d3-a456-426614174000.

UUID są zdefiniowane przez standard RFC 9562 (który zastępuje poprzedni RFC 4122) i są używane na różnych platformach komputerowych do identyfikacji informacji bez konieczności centralnej rejestracji lub koordynacji.

Format UUID

Wszystkie UUID mają wspólny format składający się z 36 znaków (32 cyfry szesnastkowe plus 4 myślniki) ułożonych według wzoru:

xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx

Gdzie:

  • x to dowolna cyfra szesnastkowa (0-9, a-f)
  • M wskazuje wersję UUID (1-7)
  • N wskazuje wariant UUID (zwykle 8, 9, A lub B dla nowoczesnych UUID)

Prywatność i przetwarzanie

Cała generacja i walidacja UUID odbywa się lokalnie w Twojej przeglądarce przy użyciu kryptograficznie bezpiecznego generatora liczb losowych. Narzędzia nigdy nie wysyłają Twoich identyfikatorów nigdzie - wszystko jest przetwarzane na Twoim urządzeniu, co czyni te narzędzia bezpiecznymi do obsługi wrażliwych identyfikatorów systemowych.

UUID v4 Generator

Generuj kryptograficznie losowe identyfikatory UUID v4 idealne jako klucze główne baz danych i tokeny sesji bez ujawniania informacji o systemie.

UUID v1 Generator

Twórz identyfikatory UUID v1 oparte na znaczniku czasu i adresie MAC dla systemów rozproszonych wymagających śledzenia.

UUID v3 Generator

Generuj deterministyczne identyfikatory UUID v3 używając hash MD5 przestrzeni nazw i nazwy dla spójnych ID z tego samego wejścia.

UUID v5 Generator

Twórz bezpieczne identyfikatory UUID v5 oparte na nazwie używając hash SHA-1 dla lepszej odporności na kolizje niż v3 z nazw DNS lub URL.

UUID v6 Generator

Generuj nowoczesne identyfikatory UUID v6 łączące porządkowanie według znacznika czasu z ulepszoną wydajnością indeksowania baz danych.

UUID v7 Generator

Twórz nowatorskie identyfikatory UUID v7 używając znaczników czasu epoki Unix z precyzją do milisekund dla nowoczesnych systemów rozproszonych.

ULID Generator

Generuj Uniwersalnie Unikalne Sortowalne Leksykalnie Identyfikatory z 26-znakowym kodowaniem jako bezpieczne dla URL i sortowalne alternatywy dla UUID.

Short UUID Generator

Twórz kompaktowe identyfikatory Short UUID używając kodowania base62, aby skrócić długość z 36 do 22 znaków dla kodów QR i URL.

Nil UUID Generator

Generuj Nil UUID zgodny z RFC 4122 (wszystkie zera) reprezentujący puste lub null wartości UUID do inicjalizacji baz danych i stanów domyślnych.

UUID Decoder & Validator

Analizuj i waliduj UUID dowolnej wersji, wydobywając osadzone informacje takie jak znaczniki czasu, numery wersji i szczegóły wariantu do debugowania.

Bulk UUID Generator

Generuj tysiące UUID jednocześnie do zasilania baz danych, testów obciążeniowych i operacji masowych z możliwością eksportu.

Wersje UUID i zastosowania

Te narzędzia obsługują wszystkie standardowe wersje UUID zgodne z RFC oraz nowoczesne alternatywy, takie jak ULID, które odpowiadają na specyficzne potrzeby w systemach rozproszonych, bazach danych i aplikacjach przyjaznych URL. Niezależnie od tego, czy potrzebujesz losowych ID, identyfikatorów opartych na znaczniku czasu, czy kompaktowych alternatyw, odpowiedni format UUID zapewnia niezawodne skalowanie systemu.

Standardowe UUID: Twórz identyfikatory zgodne z RFC w wersjach 1, 3, 4, 5, 6 i 7 dla różnych zastosowań.

Nowoczesne alternatywy: Generuj ULID dla leksykograficznie sortowalnych ID oraz Short UUID dla kompaktowych zastosowań.

Generowanie hurtowe: Twórz tysiące UUID jednocześnie do zasilania baz danych i testów obciążeniowych.

Narzędzia analityczne: Dekoduj istniejące UUID, aby wydobyć osadzone informacje i zweryfikować zgodność formatu.

Porównanie wersji UUID

VersionNameMetoda generowaniaTime-orderedZastosowania
UUID v1TimestampAktualny znacznik czasu + ID węzła (MAC)Tak (częściowo)Logowanie, systemy rozproszone
UUID v3Na podstawie nazwy (MD5)Hash MD5 przestrzeni nazw + nazwyNoSpójne ID dla tego samego wejścia
UUID v4RandomLiczby losowe lub pseudolosoweNoCel ogólny, najczęstszy
UUID v5Na podstawie nazwy (SHA-1)Hash SHA-1 przestrzeni nazw + nazwyNoSpójne identyfikatory z silniejszym hashem
UUID v6Przearanżowany znacznik czasuZnacznik czasu (uporządkowany do sortowania)YesKlucze bazy danych, rekordy sortowalne według czasu
UUID v7Znacznik czasu Unix EpochZnacznik czasu Unix + losowe daneYesNowoczesne identyfikatory sortowalne
Nil UUIDUUID zerowyWszystkie zeraN/AWartość specjalna, znacznik niezainicjowany

Zalety UUID

  • Brak potrzeby koordynacji: Generuj ID bez centralnej koordynacji
  • Globalna unikalność: Bardzo niskie prawdopodobieństwo kolizji
  • Stała długość: Spójna reprezentacja łańcucha o długości 36 znaków
  • Cross-Platform: Obsługiwane praktycznie we wszystkich językach programowania
  • Versatile: Różne wersje dla różnych zastosowań

Nieoficjalne alternatywy UUID

Typ IDDescriptionAdvantagesDisadvantages
GUIDImplementacja UUID MicrosoftFunkcjonalnie równoważne UUIDPewne różnice implementacyjne w starszych systemach
ULIDUniwersalnie unikalny leksykograficznie sortowalny identyfikatorLeksykograficznie sortowalny, najpierw znacznik czasu, nieczuły na wielkość literNowszy, mniej rozpowszechniony
Snowflake IDRozproszony system ID TwitteraSortowalny według czasu, kompaktowy (64-bitowy)Wymaga centralnej koordynacji
CUID/CUID2Identyfikatory odporne na kolizjeKrótki, odpowiedni do generowania po stronie klientaNie jest oficjalnym standardem
Nano IDMały, bezpieczny generator unikalnych identyfikatorów przyjaznych dla URLMniejszy niż UUID, konfigurowalny alfabetNieustrukturyzowany
Short UUIDKrótsze kodowanie standardowych UUIDBardziej kompaktowa reprezentacjaWymaga konwersji do/z standardowego UUID
Nil UUIDUUID z wszystkimi bitami ustawionymi na zeroSpecjalne znaczenie semantyczneNieunikalny (używany jako wartość specjalna)
Minecraft UUIDUUID z myślnikami lub bezZgodny ze standardowymi UUIDRóżnice tylko w formatowaniu

Praktyczne zastosowania

  • Główne klucze bazy danych: Szczególnie w rozproszonych lub replikowanych bazach danych
  • Systemy rozproszone: Identyfikuj podmioty w wielu systemach
  • Aplikacje internetowe: Identyfikatory sesji, śledzenie anonimowych użytkowników
  • Zarządzanie treścią: Identyfikatory dokumentów i mediów
  • APIs: Identyfikatory żądań i transakcji do śledzenia i debugowania
  • Internet rzeczy: Identyfikacja urządzenia bez centralnej rejestracji
  • Synchronizacja danych: Identyfikacja rekordów w wielu magazynach danych
  • Licencjonowanie oprogramowania: Unikalne klucze produktów lub licencji

Najczęściej zadawane pytania

Czy dane są wysyłane do Twojego serwera?

Nie. Cała generacja i walidacja UUID odbywa się lokalnie w Twojej przeglądarce przy użyciu JavaScript. Twoje identyfikatory i dane nigdy nie opuszczają Twojego urządzenia.

Którą wersję UUID powinienem używać?

UUID v4 do ogólnego użytku (losowy), v1 do identyfikatorów opartych na znaczniku czasu z adresem MAC, v6/v7 do nowoczesnych systemów opartych na znaczniku czasu, v3/v5 do deterministycznych ID z nazw oraz ULID jako alternatywa sortowalna.

Czy UUID są naprawdę unikalne?

Tak. Przy prawidłowym generowaniu UUID mają tak niskie prawdopodobieństwo kolizji, że są uważane za unikalne w praktyce. Losowe UUID (v4) mają 2^122 możliwych wartości.

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

ULID ma 26 znaków (w porównaniu do 36 dla UUID), jest leksykograficznie sortowalny według czasu utworzenia, bezpieczny dla URL i nieczuły na wielkość liter, zachowując te same gwarancje unikalności.

Czy mogę używać ich jako głównych kluczy bazy danych?

Tak. UUID v4 jest doskonały dla rozproszonych baz danych, podczas gdy v6/v7 zapewniają sortowanie według znacznika czasu, co poprawia wydajność indeksowania bazy danych. ULID oferuje podobne korzyści przy krótszej długości.

Resources