UUID डिकोडिंग क्या है?
UUID डिकोडिंग UUID का विश्लेषण करके इसके बारे में जानकारी निकालने की प्रक्रिया है:
- Version: 48-51 स्थिति में 4 बिट्स के आधार पर UUID संस्करण (1-8) कौन सा है
- Variant: बिट्स 64-65 के आधार पर UUID वैरिएंट (आमतौर पर RFC 4122) कौन सा है
- Components: संस्करण के आधार पर टाइमस्टैम्प, नोड ID, या अन्य डेटा निकालना
- निर्माण समय: समय-आधारित UUIDs (v1, v6, v7) के लिए
Example: 123e4567-e89b-12d3-a456-426614174000
2018-10-03 09:45:32 UTC को बनाया गया एक संस्करण 1 UUID है।
UUID संरचना अवलोकन
Format | Description |
---|---|
8-4-4-4-12 | हाइफ़न के साथ समूहित 32 हेक्स अंक |
संस्करण बिट्स | बिट्स 48-51 (13वां अंक) |
वैरिएंट बिट्स | बिट्स 64-65 (17वां अंक) |
संस्करण संख्या तीसरे समूह के पहले हेक्स अंक के रूप में प्रकट होती है (जैसे, 123e4567-e89b-12d3-a456-426614174000
संस्करण 1 के लिए)।
UUID संस्करण द्वारा डिकोडिंग
Version | क्या डिकोड किया जा सकता है |
---|---|
UUID v1 |
|
UUID v3/v5 |
|
UUID v4 |
|
UUID v6 |
|
UUID v7 |
|
ULID |
|
UUIDs से टाइमस्टैम्प निष्कर्षण
UUID प्रकार | समय निष्कर्षण विधि | Epoch |
---|---|---|
UUID v1 | बिट्स 0-31, 32-47, और 48-59 को मिलाएं, टाइमस्टैम्प घटकों को पुनः क्रमित करें | 15 अक्टूबर, 1582 |
UUID v6 | बिट्स 0-59 निकालें (पहले से सही क्रम में) | 15 अक्टूबर, 1582 |
UUID v7 | बिट्स 0-47 निकालें (Unix मिलीसेकंड) | 1 जनवरी, 1970 |
ULID | पहले 10 Base32 अक्षरों को डिकोड करें ताकि 48-बिट Unix मिलीसेकंड प्राप्त हो सके | 1 जनवरी, 1970 |
UUID सत्यापन नियम
- प्रारूप जांच: 8-4-4-4-12 हेक्साडेसिमल अंक हाइफ़न के साथ
- संस्करण जांच: 13वां अक्षर 1-8 होना चाहिए
- वैरिएंट जांच: 17वां अक्षर RFC 4122 के लिए 8, 9, A, या B होना चाहिए
मूल UUID सत्यापन के लिए नियमित अभिव्यक्ति:
^[0-9a-f]8-[0-9a-f]4-[1-8][0-9a-f]3-[89ab][0-9a-f]3-[0-9a-f]12$
व्यावहारिक अनुप्रयोग
- फोरेंसिक विश्लेषण: यह निर्धारित करना कि IDs कब बनाए गए थे
- Debugging: ID टाइमस्टैम्प के माध्यम से सिस्टम व्यवहार को ट्रेस करना
- Auditing: कालानुक्रमिक अखंडता का सत्यापन
- सुरक्षा विश्लेषण: जाली या छेड़छाड़ किए गए IDs का पता लगाना
- डेटा पुनर्प्राप्ति: अस्थायी संबंधों का पुनर्निर्माण
- सिस्टम माइग्रेशन: विरासत UUID कार्यान्वयन विवरण को समझना
MAC पता निष्कर्षण (v1/v6)
UUID v1 और v6 के लिए, यदि निर्माण के दौरान नोड पहचानकर्ता (MAC पता) यादृच्छिक नहीं था, तो आप इसे अक्सर निकाल सकते हैं:
- UUID से अंतिम 12 हेक्स अंक (48 बिट्स) निकालें
- XX:XX:XX:XX:XX:XX के रूप में कॉलन के साथ प्रारूप
- मल्टीकास्ट बिट की जांच करके देखें कि MAC पता वास्तविक है या यादृच्छिक
यदि पहले बाइट में बिट 0x01 सेट है, तो यह संभवतः एक यादृच्छिक नोड ID है न कि वास्तविक MAC पता।
अक्सर पूछे जाने वाले प्रश्न
क्या मैं यह ठीक से निर्धारित कर सकता हूँ कि UUID v4 कब बनाया गया था?
नहीं। UUID v4 पूरी तरह से यादृच्छिक है जिसमें कोई टाइमस्टैम्प जानकारी नहीं होती। UUID v4 मान से निर्माण का समय निर्धारित नहीं किया जा सकता।
टाइम-आधारित UUIDs में टाइमस्टैम्प कितने सटीक होते हैं?
UUID v1/v6 टाइमस्टैम्प में 100-नैनोसेकंड सटीकता होती है। UUID v7 और ULID में मिलीसेकंड सटीकता होती है। हालांकि, वास्तविक सिस्टम क्लॉक की सटीकता भिन्न हो सकती है।
क्या मैं UUID संस्करणों के बीच परिवर्तित कर सकता हूँ?
नहीं, आप सीधे संस्करणों के बीच परिवर्तित नहीं कर सकते जबकि समान पहचानकर्ता मान को बनाए रखते हैं। विभिन्न संस्करणों की संरचनाएं मौलिक रूप से भिन्न होती हैं।
क्या मैं UUID v1 बनाने वाले कंप्यूटर की पहचान कर सकता हूँ?
यदि नोड ID यादृच्छिक नहीं था, तो UUID v1 में निर्माण प्रणाली का MAC पता हो सकता है। हालांकि, कई आधुनिक कार्यान्वयन गोपनीयता के लिए इसे यादृच्छिक बनाते हैं।
मैं कैसे बता सकता हूँ कि UUID वैध है?
प्रारूप जांचें (8-4-4-4-12 हेक्स अंक), संस्करण अंक (13वां अक्षर) 1-8 है यह सत्यापित करें, और वैरिएंट बिट्स (17वां अक्षर RFC 4122 UUIDs के लिए 8, 9, A, या B) की पुष्टि करें।