Generator UUID wersji 4 (losowy)

Generuj losowe UUID dla maksymalnej unikalności i bezpieczeństwa

Wypróbuj te przykłady:

Co to jest UUID v4?

Wersja UUID 4 to losowy 128-bitowy identyfikator (ciąg 36 znaków) zgodny z RFC 4122. Składa się z:

  • Losowe wartości: 122 bity losowych danych
  • Bity wersji: 4 bity wskazujące wersję 4 (0100)
  • Bity wariantu: 2 bity wskazujące wariant RFC 4122 (10)

Przykład formatu: f47ac10b-58cc-4372-a567-0e02b2c3d479

Jak działa UUID v4

  1. Generuj 122 bity kryptograficznie silnych losowych danych
  2. Ustaw bity wersji na 0100 (wersja 4)
  3. Ustaw bity wariantu na 10 (standard RFC 4122)
  4. Złóż jako 32 cyfry szesnastkowe z myślnikami: format 8-4-4-4-12

Zalety i uwagi

AdvantagesConsiderations
  • Brak problemów z prywatnością
  • Kryptograficznie bezpieczny
  • Brak zależności od zegara/stanu
  • Wysoce nieprzewidywalny
  • Nieuporządkowany czasowo/nie do sortowania
  • Generowanie nieco wolniejsze
  • Wymaga wysokiej jakości RNG
  • Brak osadzonego czasu utworzenia

Struktura UUID v4

BitsContent
0-47Losowe dane
48-51Wersja (0100 dla v4)
52-63Losowe dane
64-65Wariant (10 dla RFC4122)
66-127Losowe dane

UUID v4 a inne wersje

VersionOparte naPrzypadek użyciaPrivacy
UUID v1Czas + MACIdentyfikatory uporządkowane czasowo⚠️ Ujawnia MAC
UUID v3Namespace + MD5Deterministyczne identyfikatory✅ Prywatne
UUID v4RandomBezpieczne losowe identyfikatory✅ Prywatne
UUID v5Namespace + SHA-1Deterministyczne identyfikatory✅ Prywatne
UUID v6Czas (przearanżowany)Identyfikatory do sortowania⚠️ Ujawnia MAC
UUID v7Czas + losoweIdentyfikatory do sortowania✅ Prywatne

Typowe przypadki użycia

  • Klucze baz danych: Rozproszone aplikacje
  • Tokeny bezpieczeństwa: Systemy uwierzytelniania
  • Jednorazowe identyfikatory: Tymczasowy dostęp
  • Systemy wielodostępowe: Zapobieganie kolizjom
  • Identyfikatory treści: Zarządzanie dokumentami
  • Identyfikatory żądań API: Śledzenie żądań

Najczęściej zadawane pytania

Czy UUID v4 jest kryptograficznie bezpieczny?

Tak. UUID v4 opiera się na kryptograficznie silnych generatorach liczb losowych, co czyni go odpowiednim dla aplikacji wymagających bezpieczeństwa.

Czy wartości UUID v4 mogą się powtarzać?

Teoretycznie tak, ale praktycznie nie. Przy 122 bitach losowych prawdopodobieństwo kolizji jest astronomicznie małe, nawet przy miliardach wygenerowanych UUID.

Czy mogę wyodrębnić czas utworzenia z UUID v4?

Nie. W przeciwieństwie do UUID opartych na czasie (v1, v6, v7), UUID v4 zawiera tylko losowe dane bez komponentu znacznika czasu.

Czy wartości UUID v4 są sortowalne według czasu utworzenia?

Nie. Wartości UUID v4 są losowe i nie mają związku z czasem ich utworzenia. Dla identyfikatorów sortowalnych rozważ UUID v1, v6 lub v7.

Czy wartości UUID v4 ujawniają jakiekolwiek informacje o systemie?

Nie. UUID v4 składa się wyłącznie z losowych danych z bitami wersji i wariantu, zapewniając pełną prywatność bez wycieku informacji o systemie.

Resources