UUID जेनरेटर
प्रारूप विकल्प
उत्पन्न संख्या
मुफ्त ऑनलाइन UUID/GUID/ULID/NanoID जेनरेटर जो 5 यूनिक ID प्रारूपों, 100 तक बल्क जनरेशन, अनुकूलन योग्य फ़ॉर्मेटिंग और UUID सत्यापन का समर्थन करता है। तुरंत उपयोग के लिए तैयार - डेटाबेस प्राइमरी की और टेस्ट डेटा निर्माण के लिए बिल्कुल सही।
संबंधित सुझाव
UUID क्या है?
UUID (Universally Unique Identifier) Open Software Foundation (OSF) द्वारा मानकीकृत एक 128-बिट आइडेंटिफायर है, जिसे RFC 4122 में परिभाषित किया गया है। इसका उद्देश्य वितरित सिस्टम को ID असाइनमेंट के लिए केंद्रीय प्राधिकरण के बिना जानकारी को विशिष्ट रूप से पहचानने की अनुमति देना है।
एक मानक UUID `550e8400-e29b-41d4-a716-446655440000` जैसा दिखता है, जिसमें 32 हेक्साडेसिमल अंक होते हैं जो हाइफन द्वारा 5 समूहों (8-4-4-4-12) में विभाजित होते हैं। सैद्धांतिक रूप से, UUID v4 की टक्कर की संभावना लगभग 1/10^36 है - यदि आप लगभग 800 वर्षों तक प्रति सेकंड 1 बिलियन UUID जनरेट करते हैं, तो एकल टक्कर की संभावना लगभग 50% होगी, जो व्यवहार में नगण्य है।
UUID का व्यापक रूप से डेटाबेस प्राइमरी की, वितरित ट्रेस ID, रिक्वेस्ट ID, लॉग ट्रेस ID, अद्वितीय फ़ाइल नामकरण, टेस्ट डेटा ID और सत्र आइडेंटिफायर के लिए उपयोग किया जाता है। लगभग सभी प्रमुख प्रोग्रामिंग भाषाओं में बिल्ट-इन UUID जनरेशन लाइब्रेरी शामिल हैं।
उपयोग के मामले
- ऑटो-इंक्रीमेंट ID से डेटा वॉल्यूम लीकेज से बचने के लिए डेटाबेस डिज़ाइन के दौरान तालिका रिकॉर्ड प्राइमरी की के रूप में UUID v4 जनरेट करें
- वितरित सिस्टम या माइक्रोसर्विस आर्किटेक्चर में क्रमबद्ध वैश्विक अनुरोध/ट्रेस ID के रूप में ULID का उपयोग करें
- API विकास और एकीकरण परीक्षण के दौरान टेस्ट डेटा और नकली ऑर्डर/उपयोगकर्ता ID के रूप में UUID को बल्क में जनरेट करें
- फ्रंटएंड शॉर्ट लिंक या शेयर URL में UUID के बजाय NanoID का उपयोग करें - छोटा, साफ, URL एन्कोडिंग की आवश्यकता नहीं
- निश्चित नेमस्पेस से नियतात्मक ID जनरेट करने के लिए UUID v5 का उपयोग करें, यह सुनिश्चित करते हुए कि समान इनपुट हमेशा समान आउटपुट उत्पन्न करता है
- डीबग लॉग या तृतीय-पक्ष दस्तावेज़ में अज्ञात-प्रारूप ID का सामना करते समय ID प्रकार और संस्करण की पहचान करने के लिए सत्यापन सुविधा का उपयोग करें
उपयोग कैसे करें
- ऊपर के कार्ड से वांछित ID प्रकार चुनें: UUID v4 (अनुशंसित), v1, v5, ULID, या NanoID
- यदि UUID v5 चुन रहे हैं, तो नेमस्पेस स्ट्रिंग दर्ज करें; अन्य ID सीधे फ़ॉर्मेट विकल्प सेट कर सकते हैं
- आवश्यकतानुसार अपरकेस और हाइफन विकल्प टॉगल करें, क्विक बटन या स्लाइडर के माध्यम से बल्क जनरेशन संख्या (1-100) सेट करें
- परिणाम देखने के लिए जनरेट बटन पर क्लिक करें - व्यक्तिगत रूप से कॉपी करें, एक साथ सभी कॉपी करें, या TXT/JSON के रूप में एक्सपोर्ट करें
- किसी मौजूदा ID को सत्यापित करने के लिए, "सत्यापित करें" टैब पर स्विच करें और प्रकार और संस्करण जानकारी प्राप्त करने के लिए ID स्ट्रिंग पेस्ट करें
विशेषताएं
- एक टूल में पांच ID प्रकार: UUID v1 (टाइमस्टैम्प), v4 (यादृच्छिक), v5 (नेमस्पेस), ULID (क्रमबद्ध), और NanoID (URL-सुरक्षित) - एक टूल सभी टेक स्टैक जरूरतों को पूरा करता है
- UUID सत्यापन और पहचान: सत्यापित करें टैब पर स्विच करें, किसी भी ID को पेस्ट करके उसका UUID संस्करण पहचानें या ULID/NanoID प्रारूप का पता लगाएं - डीबगिंग के दौरान तेजी से समस्या समाधान
- 100 तक बल्क जनरेट करें: एक बार में 1 से 100 ID की किसी भी संख्या को जनरेट करें - टेस्ट डेटा के लिए अब मैन्युअल रूप से एक-एक करके कॉपी करने की आवश्यकता नहीं
- लचीला फ़ॉर्मेटिंग: डेटाबेस, URL और कॉन्फ़िग फ़ाइल प्रारूप आवश्यकताओं के अनुरूप UUID के लिए अपरकेस और हाइफन टॉगल करें
- एक्सपोर्ट और स्थानीय इतिहास: एक क्लिक में सभी कॉपी करें, TXT/JSON फ़ाइलें एक्सपोर्ट करें, जनरेशन इतिहास स्थानीय रूप से सहेजा जाता है ताकि तुरंत पुनर्प्राप्त किया जा सके - बल्क ऑपरेशन अधिक कुशल
- क्लाइंट-साइड सुरक्षित यादृच्छिक: क्रिप्टोग्राफ़िक रूप से सुरक्षित यादृच्छिक संख्याओं के लिए ब्राउज़र crypto API का उपयोग करता है, ID कभी भी आपके डिवाइस से बाहर नहीं जाते हैं, ऑफ़लाइन काम करता है
कोड उदाहरण
JavaScript में UUID v4 जनरेट करें
javascriptआधुनिक ब्राउज़र और Node.js 14.17+ में Web Crypto API बिल्ट-इन है, जो तृतीय-पक्ष लाइब्रेरी के बिना सीधे UUID v4 जनरेशन की अनुमति देता है।
// आधुनिक ब्राउज़र / Node.js 19+
const id = crypto.randomUUID();
console.log(id); // "550e8400-e29b-41d4-a716-446655440000"
// Node.js 14.17 - 18.x
const crypto = require('crypto');
const id = crypto.randomUUID();Python में बल्क UUID जनरेट करें
pythonकई UUID v4 को बल्क में जनरेट करने के लिए Python की मानक लाइब्रेरी uuid मॉड्यूल का उपयोग करें, टेस्ट डेटा तैयारी के लिए आदर्श।
import uuid
# एकल UUID जनरेट करें
uid = uuid.uuid4()
print(uid)
# 10 UUID बल्क में जनरेट करें
for _ in range(10):
print(uuid.uuid4())
# हाइफन रहित अपरकेस UUID जनरेट करें
print(uuid.uuid4().hex.upper())Shell कमांड लाइन से UUID जनरेट करें
bashLinux/macOS टर्मिनल में जल्दी से UUID जनरेट करें, shell स्क्रिप्ट में उपयोग के लिए उपयुक्त।
# Linux uuidgen # macOS uuidgen | tr 'A-Z' 'a-z' # सिस्टम रैंडम फ़ाइल से सीधे पढ़ें (सबसे मूल विधि) cat /proc/sys/kernel/random/uuid
यूनिक ID के लिए कौन सा विकल्प चुनें?
UUID ही एकमात्र विकल्प नहीं है। डेटाबेस ऑटो-इंक्रीमेंट ID और Snowflake भी प्रमुख प्राइमरी की विकल्प हैं। पहले 'डेटा स्केल, क्या वैश्विक अद्वितीयता चाहिए, क्या समय-क्रमबद्धता चाहिए' देखें, फिर विशिष्ट समाधान चुनें — इससे कई गलतियाँ टल सकती हैं।
UUID v1 / v4 / v5 / ULID / NanoID: कौन सा चुनें?
5 प्रकार के ID डेटा स्केल, क्रमबद्धता और वर्ण लंबाई में अलग-अलग ट्रेड-ऑफ रखते हैं। पहले 'कहाँ उपयोग होगा + क्रमबद्धता चाहिए या नहीं + URL में सीधे उपयोग होगा या नहीं' से निर्णय लें — संख्या के आधार पर निर्णय लेने से यह अधिक विश्वसनीय है।
| विकल्प | अनुशंसित परिदृश्य | क्रमबद्धता | लंबाई | अनुशंसा स्तर |
|---|---|---|---|---|
UUID v1 | समय-क्रमबद्धता चाहिए, MAC पता और जनरेशन समय के लीक को स्वीकार करने वाले आंतरिक सिस्टम | समय-क्रमबद्ध | 36 अक्षर | ⚠ आमतौर पर अनुशंसित नहीं (गोपनीयता लीक) |
UUID v4 | डेटाबेस प्राइमरी की, सामान्य पहचानकर्ता, अधिकांश व्यावसायिक परिदृश्य | अक्रमबद्ध (यादृच्छिक) | 36 अक्षर | ✓ सामान्य प्राथमिक विकल्प |
UUID v5 | नियतात्मक आउटपुट (समान इनपुट → समान UUID) की आवश्यकता वाले परिदृश्य | अक्रमबद्ध | 36 अक्षर | ✓ नेमस्पेस निश्चित होने पर अनुशंसित |
ULID | वितरित सिस्टम प्राइमरी की, लॉग ट्रेसिंग, समय-क्रमबद्ध इंडेक्स | समय-क्रमबद्ध (पहले 48 बिट मिलीसेकंड टाइमस्टैम्प) | 26 अक्षर | ✓ वितरित सिस्टम प्राथमिक विकल्प |
NanoID | URL शॉर्टलिंक, कुकी आइडेंटिफायर, फ्रंटएंड JS संदर्भ | अक्रमबद्ध (यादृच्छिक) | 21 अक्षर (डिफ़ॉल्ट) | ✓ छोटे ID परिदृश्यों का प्राथमिक विकल्प |
UUID vs डेटाबेस ऑटो-इंक्रीमेंट ID vs Snowflake ID: प्राइमरी की का चुनाव कैसे करें?
ये तीनों बैकएंड प्राइमरी की के सबसे सामान्य विकल्प हैं, जो सिस्टम की स्केलेबिलिटी, समवर्ती सुरक्षा और प्रदर्शन विशेषताओं को निर्धारित करते हैं। 'डेटा स्केल / वैश्विक अद्वितीयता की आवश्यकता / पठनीयता की आवश्यकता' के आधार पर निर्णय लेने से बाद के आर्किटेक्चर परिवर्तन टल सकते हैं।
| आयाम | UUID | डेटाबेस ऑटो-इंक्रीमेंट ID | Snowflake |
|---|---|---|---|
वैश्विक अद्वितीयता | ✓ हाँ (सैद्धांतिक रूप से) | ✗ नहीं (शार्डिंग पर डुप्लिकेट) | ✓ हाँ (डेटा सेंटर + मशीन ID द्वारा गारंटी) |
डेटा वॉल्यूम लीक | ✓ लीक नहीं | ✗ सीधा लीक (1, 2, 3 क्रमिक वृद्धि से वास्तविक डेटा वॉल्यूम उजागर) | ⚠ टाइमस्टैम्प बिट से जनरेशन समय लीक (कुल वॉल्यूम सीधे लीक नहीं) |
क्रमबद्धता | ✗ अक्रमबद्ध (ULID अपवाद) | ✓ मोनोटोनिक वृद्धि (B-Tree अनुकूल) | ✓ प्रवृत्ति वृद्धि (एक ही मिलीसेकंड के भीतर क्रमबद्ध) |
शार्डिंग | ✓ मूल समर्थन | ✗ ID जेनरेटर या संशोधन की आवश्यकता | ✓ worker ID से अंतर |
स्टोरेज लागत | ⚠ उच्च (BINARY(16) 16 बाइट) | ✓ कम (BIGINT 8 बाइट) | ✓ कम (BIGINT 8 बाइट) |
उपयुक्त परिदृश्य | मल्टी-सर्विस/वितरित प्राइमरी की, बाहरी पहचानकर्ता, डेटा-संवेदनशील व्यवसाय | मोनोलिथिक ऐप, बैकएंड मैनेजमेंट, वैश्विक अद्वितीयता की आवश्यकता नहीं | हाई-कनकरेंसी IM, ऑर्डर नंबर, मैसेज ID (स्वयं कार्यान्वयन आवश्यक) |
Best Practices
उत्पादन डेटाबेस प्राइमरी की के लिए UUID v4 या ULID को प्राथमिकता दें, v1 से बचें
UUID v1 के अंतिम 48 बिट MAC पते हैं, और पहले 48 बिट 100ns सटीक टाइमस्टैम्प हैं——**इन दो फ़ील्ड्स से मशीन फ़िंगरप्रिंट और जनरेशन समय पुनर्निर्मित किए जा सकते हैं**. v1 को RFC 4122 में स्पष्ट रूप से 'only when backward compatibility is needed' (केवल जब पिछड़ी अनुकूलता आवश्यक हो) के रूप में परिभाषित किया गया है। उत्पादन वातावरण में v4 (यादृच्छिक) या ULID (क्रमबद्ध) को प्राथमिकता दी जानी चाहिए; v1 का उपयोग केवल डीबगिंग या मशीन ट्रेसिंग के लिए सीमित रूप से करें। **बिल्कुल नहीं** — v1 को बाहरी उपयोगकर्ता ID, डिवाइस ID या ऑर्डर नंबर के रूप में उपयोग न करें।
UUID v1, v4, v5 में से कैसे चुनें?UUID लंबाई 128 bit ≠ एन्ट्रॉपी: v4 में वास्तविक एन्ट्रॉपी केवल 122 bit
UUID v4 में कुल 128 बिट होते हैं, लेकिन **पहले 4 बिट वर्जन नंबर हैं (0100 निश्चित), अंतिम 2 बिट वेरिएंट नंबर हैं (10 निश्चित)** — वास्तव में केवल 122 बिट यादृच्छिक हैं। यह RFC 4122 द्वारा निर्दिष्ट प्रारूप बाधा है, और **'128 बिट पूर्ण यादृच्छिक' का दावा करने वाले कोई भी UUID v4 लाइब्रेरी गलत कार्यान्वयन हैं**. इसके अतिरिक्त, v4 के अंतिम 64 बिट में 7वें बाइट के उच्च 2 बिट भी वेरिएंट फ़ील्ड हैं, इसलिए वास्तविक एन्ट्रॉपी और भी कम है। सिस्टम डिज़ाइन करते समय 122 बिट (128 नहीं) के आधार पर सुरक्षा की गणना करें, ताकि टक्कर जोखिम को कम आँकने से बचें।
RFC 4122 - UUID विशिष्टताUUID संग्रहीत करने के लिए अवश्य BINARY(16) कॉलम का उपयोग करें, VARCHAR(36) नहीं
UUID v4 स्ट्रिंग `550e8400-e29b-41d4-a716-446655440000` देखने में कॉम्पैक्ट लगती है, लेकिन वास्तव में VARCHAR(36) में 36 बाइट + लंबाई 2 बाइट = 38 बाइट लगते हैं, **जो BINARY(16) से 2.4 गुना अधिक संग्रहण स्थान** है। MySQL/PostgreSQL/MSSQL सभी अंतर्निहित UUID फ़ंक्शन के साथ BINARY(16) में सीधे लिखने का समर्थन करते हैं, और इंडेक्स का आकार भी आधा हो जाता है। जब तालिका 100 मिलियन पंक्तियों से अधिक हो, तो VARCHAR(36) प्राइमरी की इंडेक्स B-Tree की ऊँचाई 1-2 स्तर बढ़ा देता है, **जिससे क्वेरी प्रदर्शन 30-50% कम** हो जाता है। फ्रंटएंड प्रदर्शन के लिए स्ट्रिंग में परिवर्तित करें, व्यवसाय परत में हमेशा BINARY(16) का उपयोग करें।
UUID / ULID / NanoID तुलनाURL परिदृश्यों में NanoID या हाइफन-रहित UUID का उपयोग करें, URL एन्कोडिंग से बचें
UUID v4 का वर्ण सेट `[0-9a-f-]` है, और **हाइफन - को URL path में दो बार URL एन्कोडिंग की आवश्यकता होती है** (पहले %2D में, फिर %252D में एस्केप) — जो बहुत भद्दा दिखता है। दो समाधान हैं: **(1) URL परिदृश्यों के लिए सीधे NanoID का उपयोग करें** (डिफ़ॉल्ट 21 अक्षर URL-सुरक्षित); **(2) UUID v4 + हाइफन बंद** के साथ 32 अंकों का शुद्ध hex आउटपुट करें, जिसे URL path segment के रूप में एन्कोडिंग की आवश्यकता नहीं। कुकी परिदृश्यों में भी NanoID (A-Za-z0-9_-) या हाइफन-रहित UUID को प्राथमिकता दें, ताकि `+` `/` `=` वर्णों (Base64 वर्ण सेट) से बचा जा सके।
क्या मैं हाइफन हटा सकता हूं या UUID को अपरकेस में बदल सकता हूं?बल्क जनरेशन के बाद अवश्य डुप्लिकेशन हटाएँ, जेनरेटर बग के कारण डुप्लिकेट हो सकते हैं
UUID v4 की टक्कर संभावना लगभग 1/10^36 है, सैद्धांतिक रूप से डुप्लिकेशन हटाने की आवश्यकता नहीं——**लेकिन इंजीनियरिंग में सिद्धांत पर भरोसा न करें**. Linux कर्नेल RNG की विफलता, Node.js के प्रारंभिक संस्करणों में `crypto.randomUUID` कार्यान्वयन बग, क्लाउड VM के बूट समय में एन्ट्रॉपी की कमी जैसी वास्तविक दुर्घटनाओं ने बल्क-जनरेट किए गए UUID में डुप्लिकेट मान उत्पन्न किए हैं। **उत्पादन वातावरण में 100k+ UUID बल्क-जनरेट करने के बाद अवश्य `SELECT id, COUNT(*) FROM t GROUP BY id HAVING COUNT(*) > 1` के साथ डुप्लिकेशन सत्यापन करें**, और समस्या मिलने पर तुरंत जेनरेटर संस्करण को रोलबैक करें। यह डेटा माइग्रेशन और बल्क आयात परिदृश्यों में कड़ी मेहनत से सीखा गया सर्वोत्तम अभ्यास है।
क्या मैं एक साथ कई UUID जनरेट कर सकता हूं?सामान्य प्रश्न
UUID और GUID में क्या अंतर है?
UUID (Universally Unique Identifier) और GUID (Globally Unique Identifier) अनिवार्य रूप से एक ही चीज हैं बस नाम अलग हैं: UUID IETF मानक (RFC 4122) का औपचारिक नाम है, जबकि GUID Windows इकोसिस्टम में Microsoft का पसंदीदा शब्द है। दोनों का प्रारूप `550e8400-e29b-41d4-a716-446655440000` जैसे 128-बिट आइडेंटिफायर के समान है। इस टूल द्वारा जनरेट किए गए मानक UUID किसी भी ऐसे परिदृश्य में उपयोग किए जा सकते हैं जहां GUID की आवश्यकता हो।
UUID v1, v4, v5 में से कैसे चुनें?
UUID v1 टाइमस्टैम्प और MAC पते पर आधारित है - समय के अनुसार क्रमबद्ध और ट्रेस करने योग्य, लेकिन MAC पते की जानकारी लीक हो सकती है। UUID v4 पूरी तरह से यादृच्छिक है, सबसे अधिक उपयोग किया जाने वाला और सुरक्षित विकल्प, अधिकांश प्राइमरी की और आइडेंटिफायर परिदृश्यों के लिए उपयुक्त। UUID v5 SHA-1 हैश-आधारित नेमस्पेस संस्करण है - समान नेमस्पेस + समान नाम हमेशा समान UUID उत्पन्न करता है, नियतात्मक आउटपुट परिदृश्यों के लिए आदर्श। सामान्य विकास के लिए, UUID v4 डिफ़ॉल्ट विकल्प है।
ULID और NanoID के UUID v4 की तुलना में क्या फायदे हैं?
ULID (26 अक्षर) UUID (हाइफन सहित 36 अक्षर) से छोटा है और निर्माण समय के अनुसार लेक्सिकोग्राफिक रूप से क्रमबद्ध किया जा सकता है, जिससे यह डेटाबेस इंडेक्स और लॉग ट्रेसिंग के लिए आदर्श है। NanoID (डिफ़ॉल्ट रूप से 21 अक्षर) और भी छोटा और तेज है, URL-सुरक्षित अक्षरों का उपयोग करता है इसलिए URL और कुकीज़ में एस्केप करने की आवश्यकता नहीं है - यह UUID से लगभग 30% छोटा है। तीनों में टक्कर की संभावना नगण्य है, लेकिन वितरित सिस्टम में ULID की क्रमबद्धता चमकती है, जबकि NanoID फ्रंटएंड/URL परिदृश्यों के लिए अधिक अनुकूल है।
क्या मैं एक साथ कई UUID जनरेट कर सकता हूं?
हां। यह टूल 1 से 100 ID की बल्क जनरेशन का समर्थन करता है। क्विक बटन या स्लाइडर के माध्यम से संख्या निर्धारित करें और एक क्लिक से जनरेट करें - टेस्ट डेटा निर्माण, बल्क आयात और स्क्रिप्ट के लिए यूनिक ID तैयार करने के लिए बिल्कुल सही। जनरेशन के बाद, आप सभी परिणामों को एक साथ कॉपी कर सकते हैं या TXT या JSON फ़ाइलों के रूप में एक्सपोर्ट कर सकते हैं।
बल्क जनरेशन गाइडक्या मैं सत्यापित कर सकता हूं कि कोई स्ट्रिंग वैध UUID है या नहीं?
हां। "सत्यापित करें" टैब पर स्विच करें और किसी भी स्ट्रिंग को पेस्ट करें - टूल स्वचालित रूप से पहचानता है और सत्यापित करता है: मानक UUID (v1/v3/v4/v5) अपने विशिष्ट संस्करण संख्या की रिपोर्ट करेंगे, और यह ULID (26-अक्षर Crockford Base32) और NanoID (21-अक्षर URL-सुरक्षित) प्रारूपों को भी पहचानता है, जिससे विकास और डीबगिंग के दौरान ID प्रारूप समस्याओं को तुरंत हल करना बहुत सुविधाजनक हो जाता है।
क्या ऑनलाइन UUID जनरेट करना सुरक्षित है? क्या मेरे ID सर्वर पर लीक होंगे?
पूरी तरह से सुरक्षित। सभी ID जनरेशन और सत्यापन आपके ब्राउज़र में स्थानीय रूप से JavaScript के माध्यम से चलता है, क्रिप्टोग्राफ़िक रूप से सुरक्षित यादृच्छिक संख्याओं के लिए crypto.getRandomValues() का उपयोग करता है। कोई भी जनरेट किया गया ID किसी सर्वर पर नहीं भेजा जाता है, और कोई जनरेशन इतिहास क्लाउड में संग्रहीत नहीं किया जाता है। यह ऑफ़लाइन होने पर भी काम करता है, जिससे यह एंटरप्राइज इंट्रानेट और संवेदनशील परियोजनाओं के लिए उपयुक्त है।
क्या मैं हाइफन हटा सकता हूं या UUID को अपरकेस में बदल सकता हूं?
हां। UUID v1/v4/v5 के लिए, टूल दो टॉगल प्रदान करता है: "अपरकेस" आउटपुट केस को स्विच करता है, और "हाइफन" आपको डैश हटाने की सुविधा देता है (URL, कॉन्फ़िग फ़ाइलों, या हाइफन-मुक्त प्रारूप की आवश्यकता वाले डेटाबेस के लिए उपयोगी)। ULID और NanoID में डिफ़ॉल्ट रूप से कोई हाइफन नहीं होते हैं और ये केस स्विचिंग का भी समर्थन करते हैं।
UUID जनरेट करने के लिए कमांड लाइन के बजाय ऑनलाइन टूल का उपयोग क्यों करें?
कमांड-लाइन टूल (जैसे Linux का uuidgen, Python का uuid मॉड्यूल) को विकास वातावरण की आवश्यकता होती है। एक ऑनलाइन टूल बिना किसी इंस्टॉलेशन के आपके ब्राउज़र में तुरंत काम करता है। इसके अतिरिक्त, यह टूल UUID संस्करण पहचान, बल्क एक्सपोर्ट और स्थानीय इतिहास सुविधाओं को एकीकृत करता है - डिवाइसों के बीच काम करते समय (जैसे, गैर-तकनीकी सहयोगियों के लिए ID जनरेट करना) या जब आपको तुरंत ID की आवश्यकता हो तो अधिक सुविधाजनक।
शब्दकोश
- UUID
- Universally Unique Identifier, 128-बिट लंबाई, RFC 4122 मानक, सामान्य संस्करणों में v1 (टाइमस्टैम्प+MAC), v4 (यादृच्छिक), v5 (SHA-1 हैश) शामिल हैं।
- GUID
- Globally Unique Identifier, UUID के लिए Microsoft का शब्द - दोनों प्रारूप और उद्देश्य में समान हैं।
- ULID
- Universally Unique Lexicographically Sortable Identifier, Crockford Base32 एन्कोडिंग का उपयोग करके 26 अक्षर, पहले 48 बिट टाइमस्टैम्प हैं - निर्माण समय के अनुसार क्रमबद्ध करने योग्य।
- NanoID
- एक हल्का यूनिक ID जेनरेटर, डिफ़ॉल्ट रूप से 21 URL-सुरक्षित अक्षर (A-Za-z0-9_-), UUID से छोटा और तेज, फ्रंटएंड और URL परिदृश्यों के लिए आदर्श।
- UUID v1
- टाइमस्टैम्प और MAC पते पर आधारित UUID संस्करण, समय-क्रमबद्ध लेकिन MAC पता और जनरेशन समय लीक कर सकता है - v4 की तुलना में कम सुरक्षित।
- UUID v4
- पूरी तरह से यादृच्छिक संख्या-आधारित UUID संस्करण, सबसे व्यापक रूप से उपयोग किया जाने वाला, टक्कर की संभावना नगण्य, विकास में डिफ़ॉल्ट विकल्प।
- UUID v5
- SHA-1 हैश-आधारित नेमस्पेस UUID संस्करण - समान नेमस्पेस + समान नाम इनपुट समान UUID आउटपुट उत्पन्न करता है, नियतात्मक परिदृश्यों के लिए उपयुक्त।
- टक्कर की संभावना
- संभावना है कि दो यादृच्छिक रूप से जनरेट किए गए ID समान हों। UUID v4 की टक्कर की संभावना लगभग 17 अरब ट्रिलियन में 1 है, व्यावहारिक इंजीनियरिंग में नगण्य।
- Crockford Base32
- Douglas Crockford द्वारा डिज़ाइन किया गया एक Base32 एन्कोडिंग जो अस्पष्ट अक्षरों से बचने के लिए I/L/O/U को छोड़कर अपरकेस अक्षरों और अंकों का उपयोग करता है - ULID द्वारा उपयोग किया जाता है।
UUID / ULID / NanoID तुलना
| विशेषता | UUID v4 | ULID | NanoID |
|---|---|---|---|
| लंबाई | 36 अक्षर (हाइफन सहित) / 32 अक्षर (हाइफन रहित) | 26 अक्षर | 21 अक्षर (डिफ़ॉल्ट) |
| अक्षर सेट | हेक्साडेसिमल (0-9a-f) | Crockford Base32 (32 अक्षर) | URL-सुरक्षित (64 अक्षर) |
| क्रमबद्धता | अक्रमबद्ध (यादृच्छिक) | समय के अनुसार क्रमबद्ध | अक्रमबद्ध (यादृच्छिक) |
| URL-सुरक्षित | एस्केप करने की आवश्यकता (हाइफन + अल्फ़ान्यूमेरिक) | अधिकतर सुरक्षित (अपरकेस + अंक) | पूरी तरह से URL-सुरक्षित |
| जनरेशन गति | तेज | तेज | UUID से ~60% तेज |
| टक्कर की संभावना | 1/10^36 | 1/10^36 | 1/10^34 (21 अक्षरों पर) |
| विशिष्ट उपयोग के मामले | डेटाबेस प्राइमरी की, सामान्य ID | वितरित सिस्टम, लॉग ट्रेसिंग | शॉर्ट URL, फ्रंटएंड ID, कुकीज़ |
भाषा के अनुसार UUID जनरेशन विधियां
| भाषा | कोड |
|---|---|
| JavaScript | crypto.randomUUID() // आधुनिक ब्राउज़र / Node.js 19+ |
| Python | import uuid; uuid.uuid4() |
| Java | UUID.randomUUID() |
| Go | github.com/google/uuid; uuid.New() |
| Bash/Linux | uuidgen या cat /proc/sys/kernel/random/uuid |
Authoritative References
- IETFRFC 4122 - UUID विशिष्टता
- GitHubULID विशिष्टता (GitHub)
- OfficialNanoID आधिकारिक साइट
- कलर ब्लाइंडनेस सिम्युलेटर
- रंग कनवर्टर
- .htaccess से Nginx कन्वर्टर
- SQL कन्वर्टर
- कुकी पार्सर
- Cron एक्सप्रेशन जनरेटर
- Cron एक्सप्रेशन वैलिडेटर
- CSS फॉर्मेटर
- CSS मिनिफाई
- CSV से Excel
- करेंसी कन्वर्टर
- डिफ चेकर
- Favicon जनरेटर
- XML फॉर्मेटर
- हेक्साडेसिमल कनवर्टर
- HTML फॉर्मेटर
- HTML कम्प्रेसर
- HTML से Markdown
- Markdown से HTML
- JavaScript फॉर्मेटर
- JS कम्प्रेसर
- JSX फॉर्मैटर
- JSX कम्प्रेसर
- कीवर्ड क्लस्टरिंग
- Lorem Ipsum जनरेटर
- Markdown तालिका जनरेटर
- Meta Tag जनरेटर
- पासवर्ड जेनरेटर
- पासवर्ड शक्ति जांच उपकरण
- QR कोड / बारकोड जनरेटर
- Regex टेस्टर
- Slug जनरेटर
- SQL बिल्डर
- SQL फॉर्मेटर टूल
- शब्द गणक
- समय उपकरण
- TS फॉर्मेटर
- TS कम्प्रेसर
- TSX फॉर्मेटर
- TSX कम्प्रेसर
- Unix Timestamp कनवर्टर
- UUID जेनरेटर
- YAML फॉर्मेटर
- केस कनवर्टर