Ano ang UUID v3?
Bersyon 3 ng UUID ay isang namespace-based 128-bit identifier (36-character string) mula sa RFC 4122 na gumagamit ng MD5 hashing. Binubuo ito ng:
- Namespace UUID: Isang predefined o custom na UUID namespace
- Name: Isang string na ibinigay ng user na hinahash
- MD5 hash: Inilalapat sa kombinasyon ng namespace + pangalan
Halimbawa ng format: 9125a8dc-52ee-365b-a5aa-81b0b3681cf6
Paano gumagana ang UUID v3
- Pumili ng namespace UUID (predefined o custom)
- Pagsamahin ang mga byte ng namespace UUID sa mga byte ng string ng pangalan
- Kalkulahin ang MD5 hash ng pinagsamang halaga
- Itakda ang version bits sa 0011 (bersyon 3)
- Itakda ang variant bits sa 10 (RFC 4122 standard)
- I-assemble bilang 32 hex digits na may hyphens: 8-4-4-4-12 na format
Mga Bentahe at Mga Dapat Isaalang-alang
Advantages | Considerations |
---|---|
|
|
Estruktura ng UUID v3
Bits | Content |
---|---|
0-47 | Unang 48 bits ng MD5 hash |
48-51 | Bersyon (0011 para sa v3) |
52-63 | Susunod na 12 bits ng MD5 hash |
64-65 | Variant (10 para sa RFC4122) |
66-127 | Natitirang 62 bits ng MD5 hash |
Mga Predefined na Namespace
Name | UUID | Purpose |
---|---|---|
DNS | 6ba7b810-9dad-11d1-80b4-00c04fd430c8 | Mga domain name |
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 kumpara sa ibang mga bersyon
Version | Batay sa | Gamit | Privacy |
---|---|---|---|
UUID v1 | Oras + MAC | Mga ID na nakaayos ayon sa oras | ⚠️ Ipinapakita ang MAC |
UUID v3 | Namespace + MD5 | Deterministikong mga ID | ✅ Pribado |
UUID v4 | Random | Mga secure na random na ID | ✅ Pribado |
UUID v5 | Namespace + SHA-1 | Deterministikong mga ID | ✅ Pribado |
UUID v6 | Oras (muling inayos) | Mga ID na masusunod | ⚠️ Ipinapakita ang MAC |
UUID v7 | Oras + random | Mga ID na masusunod | ✅ Pribado |
Karaniwang mga Gamit
- Mga identifier na batay sa URL: Paglikha ng UUID mula sa mga URL
- Mga domain-specific na ID: Pag-convert ng mga DNS name sa UUID
- Deterministikong mga file ID: Content addressing
- Mga user ID: Mula sa email o username
- Mga entry ng configuration: Para sa mga consistent na key
- Mga reference ng dokumento: Mga content management system
Mga Madalas Itanong
Ang UUID v3 ba ay cryptographically secure?
Hindi talaga. Ang UUID v3 ay gumagamit ng MD5, na may kilalang mga kahinaan sa cryptography. Para sa mas mataas na seguridad, isaalang-alang ang UUID v5 (SHA-1) o UUID v4 (random).
Palaging pareho ba ang UUID v3 kapag pareho ang mga input?
Oo. Ang UUID v3 ay deterministiko - ang parehong namespace at pangalan ay palaging magbibigay ng parehong UUID, kaya kapaki-pakinabang para sa reproducible na mga ID.
Ano ang pagkakaiba ng UUID v3 at v5?
Pareho silang gumagana maliban na ang v3 ay gumagamit ng MD5 habang ang v5 ay gumagamit ng SHA-1. Mas gusto ang UUID v5 dahil ang SHA-1 ay mas malakas sa cryptography kaysa sa MD5.
Maaari ba akong gumawa ng sarili kong mga namespace?
Oo. Habang tinutukoy ng RFC 4122 ang mga standard na namespace (DNS, URL, OID, X.500), maaari kang gumawa ng custom na mga namespace gamit ang anumang valid na UUID.
Angkop ba ang UUID v3 para sa mga security token?
Hindi. Dahil sa mga kahinaan ng MD5 at sa deterministikong katangian nito, hindi inirerekomenda ang UUID v3 para sa mga security token o anumang nangangailangan ng unpredictability.