मुख्य सामग्री पर जाएँ
FreeOnlineTools Go
हिन्दी
तुलना

UUID v1 बनाम v4 बनाम v5: आपको कौन-सा संस्करण चुनना चाहिए?

FreeOnlineTools Team द्वारा · अद्यतन किया गया 2026-08-28

त्वरित जवाब

डिफ़ॉल्ट रूप से UUID v4 (random) उपयोग करें —इसे कोई समन्वय नहीं चाहिए और collision risk नगण्य है। time-orderable ID चाहिए हो तो v1, deterministic ID चाहिए हो तो v5 उपयोग करें। हमारे मुफ्त UUID Generator से कोई भी संस्करण बनाएँ।

परिचय

UUID (Universally Unique Identifier) 128-bit identifier है जो 8-4-4-4-12 hex group में 36 अक्षरों में दर्शाया जाता है, जैसे 123e4567-e89b-12d3-a456-426614174000। RFC 9562 कई संस्करण परिभाषित करता है; तीन सबसे आम v1 (time + MAC), v4 (random) और v5 (namespace + name, SHA-1) हैं। प्रत्येक अलग-अलग trade-off करता है।

क्रमशः

  1. UUID v1—समय और नोड आधारित

    v1 वर्तमान 60-बिट टाइमस्टैम्प (1582-10-15 के बाद से 100-एनएस अंतराल) और 48-बिट नोड आईडी (आमतौर पर मैक पता) को एन्कोड करता है। एक ही नोड पर उत्पन्न आईडी नीरस रूप से बढ़ती और समय-क्रमबद्ध होती हैं। जोखिम: मैक एड्रेस हार्डवेयर पहचान को लीक करता है, और नोड्स में क्लॉक-स्क्यू ऑर्डर को तोड़ सकता है।

  2. UUID v4—यादृच्छिक

    v4 122 यादृच्छिक बिट्स का उपयोग करता है (संस्करण/संस्करण के लिए 6 बिट्स निश्चित हैं)। 122 यादृच्छिक बिट्स के साथ, 2.71 ट्रिलियन आईडी के बीच टकराव की संभावना 50% है - किसी भी यथार्थवादी कार्यभार के लिए संभावना प्रभावी रूप से शून्य है। v4 को किसी समन्वय की आवश्यकता नहीं है और कोई होस्ट जानकारी प्रकट नहीं करता है, जिससे यह सबसे सुरक्षित डिफ़ॉल्ट बन जाता है।

  3. UUID v5—नामस्थान और नाम (SHA-1)

    v5 एक नियतात्मक 128-बिट आईडी बनाने के लिए एक नेमस्पेस UUID और एक नाम स्ट्रिंग को SHA-1 के साथ हैश करता है। समान (नेमस्पेस, नाम) जोड़ी हमेशा समान UUID उत्पन्न करती है, जो प्राकृतिक कुंजियों से प्राप्त डिडुप्लीकेशन और स्थिर आईडी के लिए आदर्श है। v3 एक ही विचार है लेकिन MD5 का उपयोग करता है (इससे बचें)।

  4. ट्रेड-ऑफ़ की तुलना करें

    v1 क्रमबद्ध है लेकिन मैक लीक करता है और क्लॉक सिंक की आवश्यकता है। v4 यादृच्छिक और निजी है लेकिन क्रमबद्ध नहीं है। v5 नियतिवादी है और डुप्लिकेट करता है लेकिन यादृच्छिक नहीं है - नाम का अनुमान लगाने से हमलावर UUID को पुन: उत्पन्न कर सकता है। इस आधार पर चुनें कि आपको क्रमबद्धता, यादृच्छिकता, या नियतिवाद की आवश्यकता है या नहीं।

  5. अपने मामले के लिए सही संस्करण चुनें

    डेटाबेस प्राथमिक कुंजियाँ: v4 (या समय-क्रमबद्धता के लिए नए सिस्टम में v7)। समन्वय के बिना वितरित प्रणालियाँ: v4. प्राकृतिक कुंजी से नियतात्मक आईडी (जैसे URL →UUID): v5. ऑडिट लॉग जो समय क्रम से लाभान्वित होते हैं: एक सुरक्षित यादृच्छिक नोड आईडी के साथ v1।

उदाहरण

UUID v1 (समय-आधारित, क्रमबद्ध)

इनपुट: नोड 00:11:22:33:44:55 पर 2026-08-28T12:00:00Z पर जेनरेट किया गया

उत्पादन: 1ef7c1d0-2d3b-11f0-8000-001122334455 (संस्करण अंक '1', समय-क्रमबद्ध)

UUID v4 (यादृच्छिक)

इनपुट: Random generation

उत्पादन: f47ac10b-58cc-4372-a567-0e02b2c3d479 (संस्करण अंक '4', यादृच्छिक बिट्स)

UUID v5 (नेमस्पेस+नाम से नियतात्मक)

इनपुट: नेमस्पेस DNS (6ba7b810-9dad-11d1-80b4-00c04fd430c8) + नाम 'freeonlinetoolsgo.com'

उत्पादन: 74738ff5-5367-5958-9aeb-0c1f1f1f1f1f (समान इनपुट हमेशा समान आउटपुट देता है)

सामान्य समस्या

  • UUID को मूल 16-बाइट बाइनरी/UUID प्रकार के बजाय VARCHAR(36) के रूप में संग्रहीत करना: इससे 2x संग्रहण बर्बाद होता है और सूचकांक प्रदर्शन ख़राब हो जाता है। जहां उपलब्ध हो वहां मूल UUID कॉलम प्रकार का उपयोग करें।
  • नोड आईडी को सुरक्षित किए बिना v1 का उपयोग करना: डिफ़ॉल्ट MAC पता हार्डवेयर पहचान को लीक करता है और यह एक गोपनीयता चिंता का विषय है। इसे प्रति नोड क्रिप्टोग्राफ़िक रूप से यादृच्छिक 48-बिट मान से बदलें।
  • यह मानते हुए कि v4 टकराव असंभव हैं: वे नहीं हैं - वे केवल खगोलीय रूप से असंभावित हैं। 122 यादृच्छिक बिट्स के साथ, आपको 50% संभावना के लिए ~2.71 ट्रिलियन आईडी की आवश्यकता है। 1 बिलियन आईडी के लिए मौका ~0.00000000000001 है।
  • v5 (SHA-1-आधारित) के बजाय v3 (MD5-आधारित) का उपयोग करना: MD5 टूटा हुआ है, इसलिए v5 को प्राथमिकता दी जाती है। दोनों नियतिवादी हैं, लेकिन v5 में टकराव प्रतिरोध मजबूत है।

सुझावों

  • लगभग हर उपयोग के मामले के लिए डिफ़ॉल्ट v4 है - यह बिना किसी समन्वय के यादृच्छिक, निजी और टकराव-सुरक्षित है।
  • यदि आपको समय-क्रमबद्ध यादृच्छिक आईडी की आवश्यकता है, तो UUID v7 (RFC 9562, 2024) देखें जो यूनिक्स टाइमस्टैम्प को यादृच्छिक बिट्स के साथ जोड़ता है - जो आधुनिक डेटाबेस के लिए v1 से बेहतर है।
  • प्राकृतिक कुंजियों (URLs, ईमेल पते) से स्थिर आईडी उत्पन्न करने के लिए v5 का उपयोग करें ताकि समान इनपुट हमेशा समान UUID पर मैप हो - डिडुप्लीकेशन और निष्क्रिय APIs के लिए उपयोगी।
  • सर्वर पर राउंड-ट्रिप से बचने के लिए जब संभव हो तो क्लाइंट पर UUID जेनरेट करें - हमारा UUID जेनरेटर पूरी तरह से आपके ब्राउज़र में क्रिप्टो.getRandomValues() का उपयोग करके चलता है।

संबंधित उपकरण

संबंधित मार्गदर्शिकाएँ

संदर्भ