2010-07-13 12 views
6

SQL सर्वर में GUID उत्पन्न कैसे होते हैं?SQL सर्वर में GUID उत्पन्न कैसे होते हैं?

मुझे समझ में आता है कि मुझे newid() का उपयोग करना चाहिए, लेकिन फ़ंक्शन का उपयोग करने वाले एल्गोरिदम क्या है? क्या यह समय/तारीख का हैश है?

उत्तर

6

एल्गोरिथ्म को बनाने इसे यहाँ वर्णित है: नई (V1) GUIDs पैदा करने के लिए http://en.wikipedia.org/wiki/Globally_Unique_Identifier

एल्गोरिथ्म

OSF द्वारा निर्दिष्ट एल्गोरिथ्म में, उपयोगकर्ता के नेटवर्क कार्ड मैक पता प्रयोग किया जाता है GUID अंकों के अंतिम समूह के लिए आधार के रूप में, जिसका अर्थ है, उदाहरण के लिए, एक दस्तावेज़ उस कंप्यूटर पर वापस ट्रैक किया जा सकता है जिसने इसे बनाया है। मेलिसा कीड़े [2] के निर्माता को ढूंढते समय यह गोपनीयता छेद था। के अधिकांश अंक GUID उत्पन्न करते समय उस समय पर आधारित होते हैं। वी 1 GUIDs जिसमें मैक पता और समय होता है, अंकों के तीसरे समूह की पहली स्थिति में "1" अंकों से पहचान की जा सकती है, उदाहरण के लिए {2f1e4fc0-81fd-11da-9156-00036a0f876a}। वी 4 GUID बाद में एल्गोरिदम का उपयोग करते हैं, जो एक छद्म-यादृच्छिक संख्या है। इन्हें में एक ही स्थिति है, उदाहरण के लिए {38a52be4-9352-453e-af97-5c3b448652f0}। अधिक विशेष रूप से, 'डेटा 3' बिट पैटर्न पहले मामले में 0001xxxxxxxxxxxx और दूसरे में 0100xxxxxxxxxxxx होगा। WinAPI GUID जनरेटर के क्रिप्टैनालिसिस से पता चलता है कि, चूंकि V4 GUID का अनुक्रम छद्म-यादृच्छिक है; आंतरिक स्थिति का पूर्ण ज्ञान दिया गया है, यह पिछले और बाद के मूल्यों की भविष्यवाणी करना संभव है

संबंधित मुद्दे