Co to jest UUID v3?
Wersja UUID 3 to identyfikator 128-bitowy oparty na przestrzeni nazw (ciąg 36 znaków) z RFC 4122, który używa skrótu MD5. Składa się z:
- Namespace UUID: Predefiniowana lub niestandardowa przestrzeń nazw UUID
- Name: Ciąg znaków podany przez użytkownika, który jest haszowany
- Skrót MD5: Zastosowany do kombinacji przestrzeni nazw + nazwy
Przykład formatu: 9125a8dc-52ee-365b-a5aa-81b0b3681cf6
Jak działa UUID v3
- Wybierz przestrzeń nazw UUID (predefiniowaną lub niestandardową)
- Połącz bajty przestrzeni nazw UUID z bajtami ciągu nazwy
- Oblicz skrót MD5 z połączonej wartości
- Ustaw bity wersji na 0011 (wersja 3)
- 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 v3
Bits | Content |
---|---|
0-47 | Pierwsze 48 bitów skrótu MD5 |
48-51 | Wersja (0011 dla v3) |
52-63 | Następne 12 bitów skrótu MD5 |
64-65 | Wariant (10 dla RFC4122) |
66-127 | Pozostałe 62 bity skrótu MD5 |
Predefiniowane przestrzenie nazw
Name | UUID | Purpose |
---|---|---|
DNS | 6ba7b810-9dad-11d1-80b4-00c04fd430c8 | Nazwy domen |
URL | 6ba7b811-9dad-11d1-80b4-00c04fd430c8 | URLs |
OID | 6ba7b812-9dad-11d1-80b4-00c04fd430c8 | ISO OIDs |
X.500 DN | 6ba7b814-9dad-11d1-80b4-00c04fd430c8 | X.500 Distinguished Names |
UUID v3 a inne wersje
Version | Oparte na | Przypadek użycia | Privacy |
---|---|---|---|
UUID v1 | Czas + MAC | Identyfikatory uporządkowane czasowo | ⚠️ Ujawnia MAC |
UUID v3 | Przestrzeń nazw + MD5 | Deterministyczne identyfikatory | ✅ Prywatne |
UUID v4 | Random | Bezpieczne losowe identyfikatory | ✅ Prywatne |
UUID v5 | Przestrzeń nazw + SHA-1 | Deterministyczne identyfikatory | ✅ Prywatne |
UUID v6 | Czas (przearanżowany) | Identyfikatory sortowalne | ⚠️ Ujawnia MAC |
UUID v7 | Czas + losowość | Identyfikatory sortowalne | ✅ Prywatne |
Typowe przypadki użycia
- Identyfikatory oparte na URL: Tworzenie UUID z URL
- Identyfikatory specyficzne dla domeny: Konwersja nazw DNS na UUID
- Deterministyczne identyfikatory plików: Adresowanie zawartości
- Identyfikatory użytkowników: Z emaila lub nazwy użytkownika
- Wpisy konfiguracyjne: Dla spójnych kluczy
- Odwołania do dokumentów: Systemy zarządzania treścią
Najczęściej zadawane pytania
Czy UUID v3 jest kryptograficznie bezpieczny?
Nie do końca. UUID v3 używa MD5, który ma znane słabości kryptograficzne. Dla wyższego poziomu bezpieczeństwa rozważ UUID v5 (SHA-1) lub UUID v4 (losowy).
Czy te same dane wejściowe zawsze wygenerują ten sam UUID v3?
Tak. UUID v3 jest deterministyczny - ta sama przestrzeń nazw i nazwa zawsze wygenerują identyczny UUID, co jest przydatne do powtarzalnych identyfikatorów.
Jaka jest różnica między UUID v3 a v5?
Działają identycznie, z tym że v3 używa MD5, a v5 SHA-1. UUID v5 jest zazwyczaj preferowany, ponieważ SHA-1 jest kryptograficznie silniejszy niż MD5.
Czy mogę tworzyć własne przestrzenie nazw?
Tak. Chociaż RFC 4122 definiuje standardowe przestrzenie nazw (DNS, URL, OID, X.500), możesz tworzyć niestandardowe przestrzenie nazw używając dowolnego ważnego UUID.
Czy UUID v3 nadaje się do tokenów bezpieczeństwa?
Nie. Ze względu na słabości MD5 i deterministyczny charakter, UUID v3 nie jest zalecany do tokenów bezpieczeństwa ani czegokolwiek wymagającego nieprzewidywalności.