सूर्य/ओरेकल जेडीके java.util पैकेज में एक प्रकार 3 (नाम आधारित) UUID बनाने के लिए एक फ़ंक्शन का खुलासा करता है: java.util.UUID.nameUUIDFromBytes (बाइट [] नाम)।नाम UUIDFromBytes के साथ यूयूआईडी उत्पन्न करने के लिए जेडीके किस नामस्थान का उपयोग करता है?
मुझे nameUUIDFromBytes का उपयोग करके जावा में एक प्रकार 3 यूयूआईडी उत्पन्न करने में सक्षम होना चाहिए और एक अन्य भाषा में एक प्रकार 3 यूयूआईडी बनाते समय उसी यूयूआईडी पर पहुंचने की आवश्यकता है, मानते हुए कि मैं स्रोत के समान बाइट प्रदान करता हूं।
javadocs के अनुसार यह फ़ंक्शन एक आरएफसी 4122 अनुपालन प्रकार 3 यूयूआईडी बनाता है। हालांकि, RFC 4122 spec के अनुसार, कुछ नामस्थान के भीतर एक प्रकार 3 यूयूआईडी बनाया जाना चाहिए। अन्य 3 भाषाओं में आप टाइप 3 यूयूआईडी (उदाहरण के लिए रुबी में UUIDTools gem) बनाते समय नामस्थान निर्दिष्ट करते हैं।
तो मेरा सवाल यह है कि जब मैं नाम UUIDFromBytes का आह्वान करता हूं तो जेडीके द्वारा किस नामस्थान यूयूआईडी का उपयोग किया जाता है?
JDK आंतरिक MD5 एन्क्रिप्शन के लिए, का उपयोग करता है, हालांकि SHA-1 भी अनुमति दी है, और यहां तक कि प्राथमिकता दी। तो उस विकल्प पर अकेले यूयूआईडी अलग हो सकते हैं। –