UUID डिकोडर और टाइमस्टैम्प एक्स्ट्रैक्टर

UUID v1, v6, और v7 के टाइमस्टैम्प को ISO UTC और Unix समय के रूप में डीकोड करें, फिर संस्करण और मेटाडेटा निरीक्षण करें।

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

UUID डिकोडिंग क्या है?

UUID डिकोडिंग UUID का विश्लेषण करके निम्नलिखित जानकारी निकाली जाती है:

  • Version: कौन सा UUID संस्करण (1-8) है — पोजिशन 48-51 में 4 बिट के आधार पर
  • Variant: कौन सा UUID वैरियंट है (आम तौर पर RFC 4122) — बिट्स 64-65 के आधार पर
  • Components: संस्करण के आधार पर टाइमस्टैम्प, node ID, या अन्य डेटा निकालना
  • जनरेट होने का समय: टाइम-आधारित UUIDs (v1, v6, v7) के लिए

Example: 123e4567-e89b-12d3-a456-426614174000 वह एक Version 1 UUID है जिसमें टाइमस्टैम्प है 2228-06-25T20:01:28.545Z जब JavaScript मिलिसेकंड प्रिसिजन पर दिखाया जाए।

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
  • namespace और name को हैश से पुनर्प्राप्त नहीं किया जा सकता
  • केवल तब पुनःउत्पादन किया जा सकता है जब namespace और name दोनों ज्ञात हों
  • v3 (MD5) को v5 (SHA-1) से अलग किया जा सकता है
UUID v4
  • सिर्फ रैन्डम डेटा
  • निकाला जाने वाला कोई जानकारी नहीं
  • यह सत्यापित कर सकते हैं कि यह एक वैध v4 UUID है
UUID v6
  • टाइमस्टैम्प (100ns प्रिसिजन के साथ, 15 अक्टूबर 1582 से)
  • MAC पता (यदि रैन्डमाइज़ नहीं किया गया हो)
  • घड़ी अनुक्रम (टकराव से बचाव के लिए)
UUID v7
  • Unix टाइमस्टैम्प (मिलीसेकंड प्रिसिजन)
  • रैन्डम घटक (डिकोड नहीं किया जा सकता)

UUIDs से टाइमस्टैम्प निकालना

UUID प्रकारटाइम निकालने की विधिEpoch
UUID v1बिट्स 0-31, 32-47, और 48-59 को मिलाएँ, टाइमस्टैम्प कंपोनेंट्स का पुनःक्रमण करें15 अक्टूबर, 1582
UUID v6बिट्स 0-47 को बिट्स 52-63 के साथ मिलाएँ; बिट्स 48-51 वर्शन हैं और बाहर रखे जाते हैं15 अक्टूबर, 1582
UUID v7बिट्स 0-47 (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}$

UUID v7 टाइमस्टैम्प उदाहरण

017f22e2-79b0-7cc3-98c4-dc0c0c07398f RFC 9562 UUIDv7 टेस्ट वेक्टर है। इसके पहले 48 बिट्स Unix मिलिसेकंड हैं, जो डिकोड होकर 2022-02-22T19:22:22.000Z, 1645557742000 मिलीसेकंड, या 1645557742 seconds.

नया जनरेट करें UUID v7, या जारी रखें Unix टाइमस्टैम्प कनवर्टर। ये लिंक उस UUID को शामिल नहीं करते जो आपने दर्ज किया है।

व्यावहारिक अनुप्रयोग

  • फोरेंसिक विश्लेषण: यह निर्धारित करना कि IDs कब बनाए गए थे
  • Debugging: ID टाइमस्टैम्प के माध्यम से सिस्टम व्यवहार का ट्रेसिंग
  • Auditing: कालानुक्रमिक अखंडता का सत्यापन
  • फॉर्मेट चेक्स: गलत IDs का पता लगाना; एक वैध UUID प्रामाणिकता साबित नहीं करता
  • डेटा पुनर्प्राप्ति: समय संबंधी संबंधों का पुनर्निर्माण
  • सिस्टम माइग्रेशन: लेगसी UUID इम्प्लीमेंटेशन के विवरण को समझना

MAC पता निकालना (v1/v6)

UUID v1 और v6 के लिए, यदि node ID जनरेशन के दौरान रैन्डमाइज़ नहीं किया गया था तो आप अक्सर node identifier (MAC पता) निकाल सकते हैं:

  1. UUID से अंतिम 12 हेक्स अंक (48 बिट) निकालें
  2. XX:XX:XX:XX:XX:XX के रूप में कॉलन्स के साथ फॉर्मेट करें
  3. मल्टीकास्ट बिट की जाँच करके तय करें कि MAC पता असली है या रैन्डम

यदि पहले बाइट में बिट 0x01 सेट है, तो यह संभवतः एक रैन्डमाइज़्ड node ID है न कि वास्तविक MAC पता।

अक्सर पूछे जाने वाले प्रश्न

क्या मैं ठीक-ठीक पता कर सकता हूँ कि UUID v4 कब बनाया गया था?

नहीं। UUID v4 पूरी तरह से रैन्डम है और इसमें कोई टाइमस्टैम्प जानकारी नहीं होती। UUID v4 के मान से निर्माण का समय निर्धारित नहीं किया जा सकता।

टाइम-आधारित UUIDs में टाइमस्टैम्प कितने सटीक होते हैं?

UUID v1/v6 टाइमस्टैम्प में 100-नैनोसेकंड प्रिसिजन होती है। UUID v7 में मिलिसेकंड प्रिसिजन होती है। हालाँकि, वास्तविक सिस्टम क्लॉक की सटीकता अलग हो सकती है।

क्या मैं UUID संस्करणों के बीच बदल सकता/सकती हूँ?

नहीं, आप सीधे संस्करणों के बीच कन्वर्ट नहीं कर सकते जबकि वही पहचानकर्ता मान बनाए रखें। विभिन्न संस्करणों की संरचनाएँ मूलतः अलग होती हैं।

क्या मैं उस कंप्यूटर की पहचान कर सकता/सकती हूँ जिसने UUID v1 जनरेट किया?

यदि node ID को रैन्डमाइज़ नहीं किया गया था, तो UUID v1 में जनरेट करने वाली सिस्टम का MAC पता शामिल हो सकता है। हालाँकि, गोपनीयता के लिए कई आधुनिक इम्प्लीमेंटेशन इसे रैन्डमाइज़ करते हैं।

मैं कैसे बता सकता/सकती हूँ कि एक UUID वैध है?

फ़ॉर्मेट चेक करें (8-4-4-4-12 हेक्स डिजिट), वर्शन डिजिट (13वाँ कैरेक्टर) 1-8 है या नहीं सत्यापित करें, और वैरिएंट बिट्स की पुष्टि करें (RFC 4122 UUIDs के लिए 17वाँ कैरेक्टर 8, 9, A, या B होना चाहिए)।

Resources