UUID डिकोडर और वैधता जांचकर्ता

UUIDs को डिकोड और वैधता जांचें ताकि संस्करण, टाइमस्टैम्प और मेटाडेटा निकाला जा सके

इन उदाहरणों को आज़माएं:

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 संरचना अवलोकन

FormatDescription
8-4-4-4-12हाइफ़न के साथ समूहित 32 हेक्स अंक
संस्करण बिट्सबिट्स 48-51 (13वां अंक)
वैरिएंट बिट्सबिट्स 64-65 (17वां अंक)

संस्करण संख्या तीसरे समूह के पहले हेक्स अंक के रूप में प्रकट होती है (जैसे, 123e4567-e89b-12d3-a456-426614174000 संस्करण 1 के लिए)।

UUID संस्करण द्वारा डिकोडिंग

Versionक्या डिकोड किया जा सकता है
UUID v1
  • टाइमस्टैम्प (100ns सटीकता के साथ, 15 अक्टूबर, 1582 से)
  • MAC पता (यदि यादृच्छिक नहीं है)
  • घड़ी अनुक्रम (टकराव से बचाव के लिए)
UUID v3/v5
  • मूल इनपुट डिकोड नहीं कर सकता
  • जानकारी के ज्ञात इनपुट से बनाया गया है यह सत्यापित कर सकता है
  • v3 (MD5) और v5 (SHA-1) के बीच अंतर कर सकता है
UUID v4
  • केवल यादृच्छिक डेटा
  • कोई निकाला जाने योग्य जानकारी नहीं
  • यह एक वैध v4 UUID है यह सत्यापित कर सकता है
UUID v6
  • टाइमस्टैम्प (100ns सटीकता के साथ, 15 अक्टूबर, 1582 से)
  • MAC पता (यदि यादृच्छिक नहीं है)
  • घड़ी अनुक्रम (टकराव से बचाव के लिए)
UUID v7
  • Unix टाइमस्टैम्प (मिलीसेकंड सटीकता)
  • यादृच्छिक घटक (डिकोड नहीं किया जा सकता)
ULID
  • Unix टाइमस्टैम्प (मिलीसेकंड सटीकता)
  • यादृच्छिक घटक (डिकोड नहीं किया जा सकता)

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 पता) यादृच्छिक नहीं था, तो आप इसे अक्सर निकाल सकते हैं:

  1. UUID से अंतिम 12 हेक्स अंक (48 बिट्स) निकालें
  2. XX:XX:XX:XX:XX:XX के रूप में कॉलन के साथ प्रारूप
  3. मल्टीकास्ट बिट की जांच करके देखें कि 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) की पुष्टि करें।

Resources