UUID / GUID के प्रारूप वे क्यों हैं?


14

वैश्विक रूप से विशिष्ट पहचानकर्ता (GUID) एक विशिष्ट प्रारूप के साथ एक समूहीकृत स्ट्रिंग है जो मुझे लगता है कि सुरक्षा कारण है।

एक GUID को सामान्यतः पाठ में पाँच समूहों में विभाजित हेक्साडेसिमल अंकों के अनुक्रम के रूप में लिखा जाता है, जैसे:

3F2504E0-4F89-11D3-9A0C-0305E82C3301

GUID / UUID स्ट्रिंग्स को केवल x लंबाई की हेक्साडेसिमल का उपयोग कर यादृच्छिक यादृच्छिक बाइट्स क्यों नहीं हैं?

इस पाठ संकेतन में निम्नलिखित क्षेत्र शामिल हैं, जिन्हें हाइफ़न द्वारा अलग किया गया है:

| Hex digits | Description
|-------------------------
| 8            | Data1
| 4            | Data2
| 4            | Data3
| 4            | Initial two bytes from Data4
| 12           | Remaining six bytes from Data4

यूयूआईडी मानकों के कई संस्करण भी हैं ।

संस्करण 4 यूयूआईडी आमतौर पर 128 बिट्स के कच्चे सरणी के रूप में आंतरिक रूप से संग्रहीत होते हैं, और आमतौर पर प्रारूप में कुछ इस तरह प्रदर्शित होते हैं:

UUID: XXXXXXXXXXXX-4xxx-yxxx-XXXXXXXXXXXX


4
नहीं, यह शायद सुरक्षा कारणों से नहीं है, बिटस्ट्रिंग में डैश के साथ या इसके बिना एक ही एंट्रॉपी है। मुझे लगता है कि यह इतना है कि GUID को एक नज़र में पहचाना जा सकता है बजाय "यहाँ हेक्स पात्रों का एक गुच्छा है, वह है md5 .. या शायद sha1 .. नहीं, रुको, यह हो सकता है ..." और इसी तरह। इसके अलावा, GUID आमतौर पर केवल यादृच्छिक बाइट्स नहीं हैं।



जवाबों:


11

से RfC4122 - एक वैश्विक अनुपम पहचानकर्ता (UUID) URN नाम स्थान

UUID स्ट्रिंग प्रतिनिधित्व की औपचारिक परिभाषा निम्नलिखित ABNF द्वारा प्रदान की गई है:

UUID                   = time-low "-" time-mid "-"
                         time-high-and-version "-"
                         clock-seq-and-reserved
                         clock-seq-low "-" node

इसलिए, वे मूल समय और मैक-आधारित यूयूआईडी से अलग क्षेत्र हैं । RFC का कहना है कि यह अपोलो नेटवर्क कम्प्यूटिंग सिस्टम से उत्पन्न होता है।


2

डैश के साथ पाठ प्रतिनिधित्व गाइड / यूयूआईडी के चार क्षेत्रों को पांच समूहों में अलग कर रहा है (पहले दो बाइट्स के बाद अंतिम फ़ील्ड खुद को अलग किया जा रहा है): गाइड टेक्स्ट एनकोडिंग

प्रतिनिधित्व का सुरक्षा से कोई लेना-देना नहीं है, क्योंकि इसकी गणना करने के अलग-अलग तरीके हैं और एक विशिष्ट पहचानकर्ता होने का इरादा है जो जरूरी नहीं कि सुरक्षित हो।

सबसे संभावित कारण फ़ील्ड विभाजित हैं (भले ही मानक इसका उल्लेख नहीं करता है) घटक भागों की पठनीयता / पृथक्करण के लिए है।


2
यह हमें बताता है कि प्रारूप क्या है, जानकारी जो पहले से ही प्रश्न में थी। यह नहीं समझाता है कि , ओपी कौन पूछ रहा था।
कीथ थॉम्पसन

1
यह सिर्फ उन्हें खेतों में अलग कर रहा है, बेहतर पठनीयता और पहचान की संभावना है। हो सकता है कि आखिरी इसकी लंबाई के कारण आगे विभाजित हो गया था।
टर्नकी

1
तार्किक। एक ही कारण फोन नंबर, क्रेडिट कार्ड नंबर, और कई अन्य लंबी संख्याएं अक्सर समूहों में विभाजित होती हैं जब मुद्रित या लिखी जाती हैं।
जॉइंटिंग
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.