UUID v3 क्या है?
UUID संस्करण 3 RFC 4122 से एक namespace-आधारित 128-बिट पहचानकर्ता (36-अक्षर स्ट्रिंग) है जो MD5 हैशिंग का उपयोग करता है। यह शामिल है:
- Namespace UUID: एक पूर्वनिर्धारित या कस्टम UUID namespace
- Name: एक उपयोगकर्ता-प्रदान किया गया स्ट्रिंग जो हैश किया जाता है
- MD5 हैश: namespace + नाम संयोजन पर लागू
प्रारूप उदाहरण: 9125a8dc-52ee-365b-a5aa-81b0b3681cf6
UUID v3 कैसे काम करता है
- एक namespace UUID चुनें (पूर्वनिर्धारित या कस्टम)
- namespace UUID बाइट्स को नाम स्ट्रिंग बाइट्स के साथ जोड़ें
- संयुक्त मान का MD5 हैश गणना करें
- संस्करण बिट्स को 0011 (संस्करण 3) पर सेट करें
- वैरिएंट बिट्स को 10 (RFC 4122 मानक) पर सेट करें
- 32 हेक्स अंकों के रूप में असेंबल करें जिसमें हाइफ़न: 8-4-4-4-12 प्रारूप
फायदे और विचार
Advantages | Considerations |
---|---|
|
|
UUID v3 संरचना
Bits | Content |
---|---|
0-47 | MD5 हैश के पहले 48 बिट |
48-51 | संस्करण (v3 के लिए 0011) |
52-63 | MD5 हैश के अगले 12 बिट |
64-65 | वैरिएंट (RFC4122 के लिए 10) |
66-127 | MD5 हैश के शेष 62 बिट |
पूर्वनिर्धारित namespaces
Name | UUID | Purpose |
---|---|---|
DNS | 6ba7b810-9dad-11d1-80b4-00c04fd430c8 | डोमेन नाम |
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 बनाम अन्य संस्करण
Version | आधारित | उपयोग मामला | Privacy |
---|---|---|---|
UUID v1 | समय + MAC | समय-क्रमबद्ध आईडी | ⚠️ MAC प्रकट करता है |
UUID v3 | Namespace + MD5 | निर्धारित आईडी | ✅ निजी |
UUID v4 | Random | सुरक्षित यादृच्छिक आईडी | ✅ निजी |
UUID v5 | Namespace + SHA-1 | निर्धारित आईडी | ✅ निजी |
UUID v6 | समय (पुन: क्रमित) | क्रमबद्ध आईडी | ⚠️ MAC प्रकट करता है |
UUID v7 | समय + यादृच्छिक | क्रमबद्ध आईडी | ✅ निजी |
सामान्य उपयोग के मामले
- URL-आधारित पहचानकर्ता: URL से UUID बनाना
- डोमेन-विशिष्ट आईडी: DNS नामों को UUID में परिवर्तित करना
- निर्धारित फ़ाइल आईडी: सामग्री पता लगाना
- उपयोगकर्ता आईडी: ईमेल या उपयोगकर्ता नाम से
- कॉन्फ़िगरेशन प्रविष्टियाँ: सुसंगत कुंजियों के लिए
- दस्तावेज़ संदर्भ: सामग्री प्रबंधन प्रणाली
अक्सर पूछे जाने वाले प्रश्न
क्या UUID v3 क्रिप्टोग्राफिक रूप से सुरक्षित है?
वास्तव में नहीं। UUID v3 MD5 का उपयोग करता है, जिसमें ज्ञात क्रिप्टोग्राफिक कमजोरियां हैं। उच्च सुरक्षा के लिए, UUID v5 (SHA-1) या UUID v4 (यादृच्छिक) पर विचार करें।
क्या एक ही इनपुट हमेशा एक ही UUID v3 उत्पन्न करेगा?
हाँ। UUID v3 निर्धारक है - एक ही namespace और नाम हमेशा समान UUID उत्पन्न करेगा, जो पुनरुत्पादनीय आईडी के लिए उपयोगी है।
UUID v3 और v5 में क्या अंतर है?
वे समान रूप से काम करते हैं सिवाय इसके कि v3 MD5 का उपयोग करता है जबकि v5 SHA-1 का उपयोग करता है। SHA-1 क्रिप्टोग्राफिक रूप से MD5 से मजबूत होने के कारण UUID v5 आमतौर पर पसंद किया जाता है।
क्या मैं अपने स्वयं के namespaces बना सकता हूँ?
हाँ। जबकि RFC 4122 मानक namespaces (DNS, URL, OID, X.500) को परिभाषित करता है, आप किसी भी मान्य UUID का उपयोग करके कस्टम namespaces बना सकते हैं।
क्या UUID v3 सुरक्षा टोकन के लिए उपयुक्त है?
नहीं। MD5 की कमजोरियों और निर्धारक प्रकृति के कारण, UUID v3 सुरक्षा टोकन या किसी भी अप्रत्याशितता की आवश्यकता वाली चीज़ के लिए अनुशंसित नहीं है।