RevealTheme logo

UUID जनरेटर

UUID v4 (यादृच्छिक universally unique identifier) जनरेट करें। हर क्लिक एक नया उत्पन्न करता है।

UUID क्या है और सॉफ़्टवेयर इसका उपयोग क्यों करता है?

एक UUID (Universally Unique Identifier, जिसे Microsoft संदर्भों में कभी-कभी GUID कहा जाता है) एक 128-बिट मान है जिसका उपयोग सिस्टमों के बीच समन्वय की आवश्यकता के बिना एंटिटीज़ की पहचान के लिए किया जाता है। UUID का विचार यह है कि दो अलग-अलग प्रोग्राम, दो अलग-अलग मशीनों पर चलते हुए और एक-दूसरे से अनजान, UUID जनरेट कर सकते हैं और विश्वासपूर्वक मान सकते हैं कि वे कभी टकराएँगे नहीं। यह गुण वितरित-सिस्टम डिज़ाइन को संभव बनाता है: आप किसी भी सेवा को बिना किसी केंद्रीय काउंटर के स्थानीय रूप से identifier गढ़ने दे सकते हैं, पंक्तियों को फिर से क्रमांकित किए बिना डेटाबेस मर्ज कर सकते हैं, और सर्वर के अनुरोध देखने से पहले ही क्लाइंट पर identifier पूर्व-जनरेट कर सकते हैं। UUID के RFC 4122 द्वारा परिभाषित पाँच विहित संस्करण हैं: v1 (समय + MAC पते पर आधारित, निर्माण समय और मशीन पहचान को उजागर करता है), v3 (किसी namespace + नाम का MD5 hash), v4 (यादृच्छिक, सबसे आम), v5 (किसी namespace + नाम का SHA-1 hash)। RFC 9562 ने v6 (समय-क्रमबद्ध, v1 जैसा पर MAC उजागर किए बिना) और v7 (Unix timestamp + यादृच्छिक, विशेष रूप से डेटाबेस प्राथमिक कुंजियों के लिए डिज़ाइन किया गया क्योंकि यह कालानुक्रमिक रूप से क्रमबद्ध होता है) जोड़े। यह टूल crypto.randomUUID() के माध्यम से v4 UUID जनरेट करता है, जो अंतर्निहित ब्राउज़र ऑपरेटिंग सिस्टम से क्रिप्टोग्राफ़िक रूप से मज़बूत यादृच्छिकता का उपयोग करता है — वही स्रोत जहाँ से TLS कुंजियाँ आती हैं। आउटपुट बाइट-दर-बाइट Python के uuid.uuid4(), Node के crypto.randomUUID() और Go के google/uuid.NewRandom() के समान होता है।

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

  • डेटाबेस प्राथमिक कुंजियाँ — जब आपको डेटाबेस मर्ज करने या क्लाइंट-साइड पर ID उत्पन्न करने की आवश्यकता हो तो स्वतः-वृद्धि करने वाले पूर्णांकों की जगह उपयोग करें।

  • कुकीज़ में सत्र पहचानकर्ता — इतने लंबे कि किसी वैध सत्र ID को ब्रूट-फ़ोर्स करना संगणकीय रूप से असंभव हो।

  • API अनुरोधों के लिए idempotency कुंजियाँ — अनुरोध सुरक्षित रूप से दोहराएँ; सर्वर UUID द्वारा डुप्लिकेट हटा देता है।

  • फ़ाइल अपलोड पहचानकर्ता — अपलोड की गई फ़ाइलों को UUID से नाम दें ताकि पथ टकराव रुके और मूल फ़ाइलनाम उजागर न हों।

  • वितरित ट्रेसिंग ID — प्रत्येक अनुरोध को एक UUID मिलता है, जो लॉग सहसंबंध के लिए सेवाओं में प्रचारित होता है।

  • टेस्ट फ़िक्स्चर पहचानकर्ता — परीक्षण मामलों में ID समन्वयित किए बिना परीक्षण डेटा के लिए पूर्वानुमेय यादृच्छिकता।

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

v4 का क्या अर्थ है?
संस्करण 4: यह 122 बिट यादृच्छिकता और 6 निश्चित बिट संस्करण/प्रकार से जनरेट होता है। अन्य संस्करण: v1 timestamp + MAC पर आधारित है (इसका उपयोग न करें; यह मशीन पहचान और समय उजागर करता है), v3/v5 किसी namespace + नाम के नियतात्मक hash हैं (स्थिर व्युत्पन्न identifier के लिए उपयोगी), v7 timestamp उपसर्ग के साथ यादृच्छिक है (डेटाबेस के लिए उत्कृष्ट क्योंकि यह कालानुक्रमिक रूप से क्रमबद्ध होता है)। अधिकांश मामलों के लिए v4 सही डिफ़ॉल्ट विकल्प है।
UUID वास्तव में कितने अद्वितीय होते हैं?
v4 UUID में 122 प्रभावी बिट यादृच्छिकता होती है: 5.3×10^36 संभावित मान। 50% टकराव की संभावना तक पहुँचने से पहले आपको 2.71 क्विंटिलियन UUID जनरेट करने होंगे। संदर्भ के लिए, यदि आप प्रति सेकंड एक अरब UUID जनरेट करें, तो उस सीमा तक पहुँचने में आपको 85 वर्ष लगेंगे। एक अच्छे यादृच्छिक संख्या जनरेटर के साथ व्यावहारिक टकराव नहीं होते।
डेटाबेस प्राथमिक कुंजियों के लिए मुझे v4 या v7 का उपयोग करना चाहिए?
डेटाबेस के लिए v7 बेहतर है। v4 UUID यादृच्छिक होते हैं, जिसका अर्थ है कि नई पंक्तियाँ B-tree इंडेक्सों में बेतरतीब ढंग से बिखर जाती हैं, जिससे इंडेक्स में सूजन और बड़े पैमाने पर धीमे inserts होते हैं। v7 timestamp को आगे रखता है, इसलिए नए UUID हमेशा पुराने के बाद क्रमबद्ध होते हैं, जिससे sequential insertion पैटर्न बना रहता है। PostgreSQL, MySQL और SQL Server v7 से लाभान्वित होते हैं। यदि आपकी लाइब्रेरी अभी तक v7 का समर्थन नहीं करती, तो ULID समान गुण वाला एक लोकप्रिय विकल्प है।
क्या crypto.randomUUID() का उपयोग करना सुरक्षित है?
हाँ। यह WHATWG में निर्दिष्ट है और सभी आधुनिक ब्राउज़रों में ऑपरेटिंग सिस्टम के क्रिप्टोग्राफ़िक यादृच्छिक संख्या जनरेटर के माध्यम से लागू है (वही स्रोत जहाँ से TLS कुंजियाँ आती हैं)। आउटपुट अप्रत्याशित होता है और पूरे v4 UUID स्थान में समान रूप से वितरित होता है।
UUID और GUID में क्या अंतर है?
ये कार्यात्मक रूप से समान हैं: GUID उसी अवधारणा के लिए Microsoft का शब्द है। कुछ Microsoft API में बाइट प्रारूप भिन्न होता है (.NET का Guid.ToByteArray() पहले तीन फ़ील्ड में मिश्रित बाइट क्रम का उपयोग करता है), इसलिए जब interoperability मायने रखती हो, तो बाइट क्रम पर ध्यान दें। विहित स्ट्रिंग प्रारूप (8-4-4-4-12) समान है।
क्या मैं URL में उपयोग के लिए किसी UUID को छोटा कर सकता हूँ?
हाँ: विहित hexadecimal प्रारूप के बजाय 128 बिट को Base62 या Base64 में एनकोड करें। Base62 आपको 22 वर्ण देता है; Base64 padding के साथ 22 या अपने URL-सुरक्षित प्रकार में 22 देता है। कुछ लाइब्रेरीज़ 'short UUID' प्रारूपों का भी उपयोग करती हैं। अंतर्निहित बिट नहीं बदलते; केवल प्रदर्शन एनकोडिंग भिन्न होती है।
मेरा UUID किसी दूसरे के समान वर्णों से क्यों शुरू होता है?
यह संयोग है: v4 UUID यादृच्छिक होते हैं। कुल 36 hexadecimal वर्णों और केवल 22 यादृच्छिक hexadecimal वर्णों (4 संस्करण/प्रकार के लिए आरक्षित हैं और 4 हाइफ़न हैं) के साथ, जब आप बहुत सारे जनरेट करते हैं तो कुछ उपसर्ग संयोग अपरिहार्य होते हैं। उपसर्ग मेल खाने पर भी पूरा UUID अद्वितीय होता है।

संबंधित टूल

JWT डिकोडर

JSON Web Tokens (JWT) को तुरंत डिकोड करें। यह आपके ब्राउज़र में चलता है: टोकन कभी आपके डिवाइस से बाहर नहीं जाते, इसलिए प्रोडक्शन सीक्रेट के साथ उपयोग करना सुरक्षित है।

JSON फ़ॉर्मेटर और वैलिडेटर

JSON को ऑनलाइन फ़ॉर्मेट, वैलिडेट और मिनिफ़ाई करें। पूरी तरह आपके ब्राउज़र में काम करता है: आपका डेटा कभी आपके डिवाइस से बाहर नहीं जाता।

XML फ़ॉर्मैटर

XML दस्तावेज़ों को फ़ॉर्मैट और सुंदर बनाएँ। SOAP, sitemaps, RSS फ़ीड और कॉन्फ़िगरेशन फ़ाइलों के लिए उपयोगी।

Base64 एनकोडर और डिकोडर

स्ट्रिंग को Base64 में एनकोड करें या Base64 को टेक्स्ट में डिकोड करें। आपकी निजता का सम्मान करता है: यह आपके ब्राउज़र में चलता है।

URL एनकोडर और डिकोडर

टेक्स्ट को URL-सुरक्षित एनकोडिंग (पर्सेंट एनकोडिंग) में और इसके विपरीत बदलें। क्वेरी स्ट्रिंग, रीडायरेक्ट और OAuth फ़्लो के लिए उपयोगी।

HTML एंटिटी एनकोडर और डिकोडर

विशेष वर्णों को HTML एंटिटी (&, <, आदि) में और इसके विपरीत बदलें। टेक्स्ट को HTML में सुरक्षित रूप से एम्बेड करने के लिए उपयोगी।

अपडेट के लिए सब्सक्राइब करें

हम आपका ईमेल नहीं बेचते। हम स्पैम नहीं करते।

© 2026 RevealTheme. All rights reserved.