रैंडम UUID v4 मान बनाएँ
वर्ज़न 4 UUID एक 128-बिट मान है, जिसके 122 बिट क्रिप्टोग्राफ़िक रूप से सुरक्षित रैंडम स्रोत से आते हैं। बाकी 6 बिट वर्ज़न और RFC वेरिएंट बताते हैं, इसलिए हर UUID v4 का तीसरा समूह 4 से शुरू होता है।
हल किया हुआ उदाहरण
- रैंडम इनपुट बाइट
- 9d 41 7c 02 e8 5b 13 f6 2a 7e c1 94 06 d3 b8 5f
- परिणाम
- 9d417c02-e85b-43f6-aa7e-c19406d3b85f
| बनाए गए UUID | कम से कम एक डुप्लिकेट की संभावना |
|---|---|
| 10⁶ | ≈ 9.4 × 10⁻²⁶ |
| 10⁹ | ≈ 9.4 × 10⁻²⁰ |
| 10¹² | ≈ 9.4 × 10⁻¹⁴ |
| 10¹⁵ | ≈ 9.4 × 10⁻⁸ |
डुप्लिकेट की 50% संभावना के लिए आवश्यक UUID: ≈ 2.71 × 10¹⁸
यह कैसे काम करता है
- जनरेटर 16 बाइट को सुरक्षित रैंडम डेटा से भरता है, फिर बाइट 6 के ऊपरी निबल को 4 (वर्ज़न) और बाइट 8 के सबसे ऊपरी दो बिट को 10 (वेरिएंट) पर सेट करता है। इसलिए तीसरा समूह 4 से और चौथा समूह 8, 9, a या b से शुरू होता है।
- 2¹²² संभावित मानों के साथ, बर्थडे सन्निकटन p ≈ 1 − e^(−n²/2¹²³) बताता है कि n रैंडम UUID में कम से कम एक डुप्लिकेट होने की संभावना कितनी है।
- UUID v4 कोई टाइमस्टैम्प या हार्डवेयर जानकारी उजागर नहीं करता। इसे पहचानकर्ता के रूप में इस्तेमाल करें, पासवर्ड या प्रमाणीकरण सीक्रेट के रूप में नहीं।
एक बार में 1-100 UUID उत्पन्न करें
UUID के बारे में
UUID v1: समय-आधारित UUID जिसमें टाइमस्टैम्प और UUID उत्पन्न करने वाले कंप्यूटर का MAC पता शामिल है। जब आपको यह जानने की आवश्यकता हो कि UUID कब बनाया गया था तो उपयोगी है।
UUID v4: यादृच्छिक रूप से उत्पन्न UUID। यह सबसे अधिक उपयोग किया जाने वाला संस्करण है और न्यूनतम सूचना रिसाव के साथ अच्छी विशिष्टता प्रदान करता है।
UUID v5: SHA-1 हैशिंग का उपयोग करते हुए नाम-आधारित UUID। एक ही नेमस्पेस और नाम दिए जाने पर, आपको हमेशा वही UUID मिलेगा। निर्धारक UUID उत्पन्न करने के लिए उपयोगी है।