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
- Generuj 122 bity kryptograficznie silnych losowych danych
- Ustaw bity wersji na 0100 (wersja 4)
- Ustaw bity wariantu na 10 (standard RFC 4122)
- Złóż jako 32 cyfry szesnastkowe z myślnikami: format 8-4-4-4-12
Zalety i uwagi
Advantages | Considerations |
---|---|
|
|
Struktura UUID v4
Bits | Content |
---|---|
0-47 | Losowe dane |
48-51 | Wersja (0100 dla v4) |
52-63 | Losowe dane |
64-65 | Wariant (10 dla RFC4122) |
66-127 | Losowe dane |
UUID v4 a inne wersje
Version | Oparte na | Przypadek użycia | Privacy |
---|---|---|---|
UUID v1 | Czas + MAC | Identyfikatory uporządkowane czasowo | ⚠️ Ujawnia MAC |
UUID v3 | Namespace + MD5 | Deterministyczne identyfikatory | ✅ Prywatne |
UUID v4 | Random | Bezpieczne losowe identyfikatory | ✅ Prywatne |
UUID v5 | Namespace + SHA-1 | Deterministyczne identyfikatory | ✅ Prywatne |
UUID v6 | Czas (przearanżowany) | Identyfikatory do sortowania | ⚠️ Ujawnia MAC |
UUID v7 | Czas + losowe | Identyfikatory 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.