UUID संस्करण 5 जनरेटर (SHA-1 नाम-आधारित)

namespace और नाम के साथ SHA-1 हैशिंग का उपयोग करके सुसंगत UUID बनाएं

नेमस्पेस सेटिंग्सSHA-1

संस्करण v3 और v5 UUIDs के लिए डिटर्मिनिस्टिक UUIDs जनरेट करने हेतु नेमस्पेस और नाम आवश्यक हैं।

यह एक वैध UUID होना चाहिए। पूर्वनिर्धारित नेमस्पेस चुनने के लिए ड्रॉपडाउन का उपयोग करें।
कोई भी टेक्स्ट स्ट्रिंग जिसे हैश करके UUID बनाया जाएगा।

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

UUID v5 क्या है?

UUID संस्करण 5 RFC 4122 में परिभाषित नामस्थान-आधारित 128-बिट पहचानकर्ता (36-अक्षर स्ट्रिंग) है। यह संयोजन करता है:

  • नामस्थान UUID: जनरेशन के लिए पूर्व-परिभाषित या कस्टम UUID
  • Name: नामस्थान के भीतर उपयोगकर्ता-परिभाषित स्ट्रिंग मान
  • SHA-1 हैश: परिणाम उत्पन्न करने के लिए उपयोग किया गया क्रिप्टोग्राफिक एल्गोरिदम

फ़ॉर्मेट उदाहरण: 2ed6657d-e927-5eb1-9a03-0242ac130003

UUID v5 कैसे काम करता है

  1. एक नामस्थान UUID चुनें (पूर्व-परिभाषित या कस्टम)
  2. नामस्थान UUID और नाम स्ट्रिंग को संयोजित करें
  3. संयोजित मान का SHA-1 हैश गणना करें
  4. संस्करण बिट्स (0101) और वेरिएंट बिट्स (10) सेट करें
  5. 32 हेक्स अंकों के रूप में संयोजन करें जिसमें हाइफ़न: 8-4-4-4-12 फॉर्मेट

लाभ और विचार

AdvantagesConsiderations
  • निर्धारित (एक ही इनपुट = एक ही UUID)
  • नामस्थानित संगठन
  • कोई नेटवर्क या समय निर्भरता नहीं
  • कोई गोपनीयता चिंता नहीं (कोई MAC पता नहीं)
  • समय-क्रमित नहीं
  • एक ही इनपुट हमेशा एक ही UUID बनाता है
  • नामस्थान चयन अद्वितीयता को प्रभावित करता है
  • SHA-1 में ज्ञात क्रिप्टोग्राफिक कमजोरियां हैं

UUID v5 संरचना

BitsContent
0-47SHA-1 हैश के पहले 48 बिट
48-51संस्करण (v5 के लिए 0101)
52-63SHA-1 हैश के अगले 12 बिट
64-65वेरिएंट (RFC4122 के लिए 10)
66-127SHA-1 हैश के शेष 62 बिट

UUID v5 बनाम अन्य संस्करण

Versionआधारितउपयोग मामलाPrivacy
UUID v1समय + MACसमय-क्रमित आईडी⚠️ MAC प्रकट करता है
UUID v3नामस्थान + MD5निर्धारित आईडी✅ निजी
UUID v4Randomसुरक्षित यादृच्छिक आईडी✅ निजी
UUID v5नामस्थान + SHA-1निर्धारित आईडी✅ निजी
UUID v6समय (पुन: क्रमित)क्रमबद्ध आईडी⚠️ MAC प्रकट करता है
UUID v7समय + यादृच्छिकक्रमबद्ध आईडी✅ निजी

पूर्वनिर्धारित नामस्थान

NamespaceUUIDPurpose
DNS6ba7b810-9dad-11d1-80b4-00c04fd430c8डोमेन नामों के लिए
URL6ba7b811-9dad-11d1-80b4-00c04fd430c8URLs के लिए
OID6ba7b812-9dad-11d1-80b4-00c04fd430c8ISO OIDs के लिए
X.500 DN6ba7b814-9dad-11d1-80b4-00c04fd430c8X.500 Distinguished Names के लिए

सामान्य उपयोग के मामले

  • सामग्री पता लगाना: समान सामग्री के लिए सुसंगत आईडी
  • वितरित सिस्टम: सिस्टम के बीच नामित संसाधन
  • URL मैपिंग: URLs को स्थिर पहचानकर्ताओं में परिवर्तित करना
  • कॉन्फ़िगरेशन प्रबंधन: नामित कॉन्फ़िगरेशन आइटम ट्रैकिंग
  • डेटा डुप्लीकेशन: समान रिकॉर्ड की पहचान
  • Federation: सिस्टम के पार सुसंगत पहचानकर्ता

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

क्या UUID v5 UUID v3 से बेहतर है?

हाँ, अधिकांश उपयोग मामलों के लिए। UUID v5 SHA-1 का उपयोग करता है जो UUID v3 में उपयोग किए गए MD5 एल्गोरिदम की तुलना में क्रिप्टोग्राफिक रूप से मजबूत है। हालांकि, दोनों निर्धारित जनरेशन प्रदान करते हैं।

क्या UUID v5 मान टकरा सकते हैं?

सिद्धांत रूप में टकराव संभव हैं लेकिन SHA-1 के गुणों के कारण व्यवहार में अत्यंत असंभव हैं। विभिन्न नामस्थान या नाम स्ट्रिंग का उपयोग टकराव जोखिम को लगभग समाप्त कर देता है।

क्या UUID v5 के लिए SHA-1 पर्याप्त सुरक्षित है?

UUID उद्देश्यों के लिए, SHA-1 अपनी क्रिप्टोग्राफिक कमजोरियों के बावजूद उपयुक्त रहता है। UUID v5 सुरक्षा उद्देश्यों के लिए नहीं बल्कि सुसंगत पहचानकर्ता उत्पन्न करने के लिए है।

क्या मैं UUID v5 के लिए अपना नामस्थान बना सकता हूँ?

हाँ। जबकि RFC 4122 मानक नामस्थान (DNS, URL, OID, X.500) परिभाषित करता है, आप किसी भी मान्य UUID का उपयोग करके कस्टम नामस्थान बना सकते हैं, आमतौर पर v4 यादृच्छिक UUID।

क्या एक ही नाम हमेशा एक ही UUID v5 उत्पन्न करेगा?

हाँ, लेकिन केवल एक ही नामस्थान के भीतर। विभिन्न नामस्थान में एक ही नाम अलग UUID उत्पन्न करेगा, जो पहचानकर्ताओं के संगठन के लिए एक प्रमुख विशेषता है।

Resources