UUID v1 क्या है?
UUID संस्करण 1 RFC 4122 से एक समय-आधारित 128-बिट पहचानकर्ता (36-अक्षर स्ट्रिंग) है। यह संयोजन करता है:
- Timestamp: 60-बिट मान (1582-10-15 से 100-नैनोसेकंड सटीकता)
- क्लॉक अनुक्रम: क्लॉक समायोजन के लिए 14-बिट काउंटर
- नोड आईडी: 48-बिट मान (आमतौर पर MAC पता)
फ़ॉर्मेट उदाहरण: 2ed6657d-e927-11eb-9a03-0242ac130003
UUID v1 कैसे काम करता है
- वर्तमान टाइमस्टैम्प की गणना करें (1582-10-15 से 100ns अंतराल)
- 14-बिट क्लॉक अनुक्रम प्राप्त/इन्क्रीमेंट करें (यदि क्लॉक पीछे चलता है तो विशिष्टता के लिए)
- 48-बिट नोड आईडी प्राप्त करें (आमतौर पर MAC पते से)
- संस्करण बिट्स (0001) और वेरिएंट बिट्स (10) सेट करें
- 32 हेक्स अंकों के रूप में असेंबल करें, हाइफ़न के साथ: 8-4-4-4-12 फ़ॉर्मेट
फायदे और विचार
Advantages | Considerations |
---|---|
|
|
UUID v1 संरचना
Bits | Content |
---|---|
0-31 | टाइमस्टैम्प के निम्न 32 बिट |
32-47 | टाइमस्टैम्प के मध्य 16 बिट |
48-59 | टाइमस्टैम्प के उच्च 12 बिट |
60-63 | संस्करण (0001 v1 के लिए) |
64-65 | वेरिएंट (RFC4122 के लिए 10) |
66-79 | क्लॉक अनुक्रम (14 बिट) |
80-127 | नोड आईडी (48 बिट) |
UUID v1 बनाम अन्य संस्करण
Version | आधारित | उपयोग मामला | Privacy |
---|---|---|---|
UUID v1 | समय + MAC | समय-क्रमबद्ध आईडी | ⚠️ MAC प्रकट करता है |
UUID v3 | Namespace + MD5 | निर्धारित आईडी | ✅ निजी |
UUID v4 | Random | सुरक्षित रैंडम आईडी | ✅ निजी |
UUID v5 | Namespace + SHA-1 | निर्धारित आईडी | ✅ निजी |
UUID v6 | समय (पुन: क्रमित) | सॉर्टेबल आईडी | ⚠️ MAC प्रकट करता है |
UUID v7 | समय + रैंडम | सॉर्टेबल आईडी | ✅ निजी |
सामान्य उपयोग मामले
- डेटाबेस कुंजी: वितरित डेटाबेस
- ऑडिट लॉग: समय-क्रमबद्ध ट्रैकिंग
- लेन-देन आईडी: व्यावसायिक प्रक्रियाएं
- सत्र ट्रैकिंग: वेब अनुप्रयोग
- सामग्री पता लगाना: CMS सिस्टम
- IoT संदेश: डिवाइस संचार
अक्सर पूछे जाने वाले प्रश्न
क्या UUID v1 क्रिप्टोग्राफिक रूप से सुरक्षित है?
नहीं। यदि टाइमस्टैम्प और MAC पता ज्ञात हैं तो UUID v1 पूर्वानुमानित है। सुरक्षा के लिए, रैंडम UUID v4 का उपयोग करें।
क्या UUID v1 मान टकरा सकते हैं?
टकराव व्यवहार में अत्यंत असंभव हैं क्योंकि टाइमस्टैम्प सटीकता, क्लॉक अनुक्रम काउंटर, और नोड पहचानकर्ता होते हैं।
क्या मैं UUID v1 से निर्माण समय निकाल सकता हूँ?
हाँ। टाइमस्टैम्प घटक को अधिकांश UUID लाइब्रेरीज़ में उपलब्ध उपयुक्त एल्गोरिदम के साथ निकाला जा सकता है।
क्या UUID v1 निर्माण समय द्वारा सॉर्टेबल हैं?
हाँ, लेकिन विशेष सॉर्टिंग फ़ंक्शन की आवश्यकता होती है। सीधे स्ट्रिंग तुलना काम नहीं करेगी क्योंकि समय बिट्स क्रमिक नहीं हैं।
क्या UUID v1 मेरा MAC पता प्रकट करता है?
डिफ़ॉल्ट रूप से, हाँ। अधिकांश कार्यान्वयन नोड आईडी के लिए MAC पता उपयोग करते हैं। गोपनीयता-केंद्रित कार्यान्वयन इसके बजाय रैंडम नोड आईडी का उपयोग कर सकते हैं।