Toolalize

UUID जनरेटर

तुरंत रैंडम v4 UUID जनरेट करें। एक साथ 50 तक बैच जनरेट करें, मौजूदा UUID वैलिडेट करें और कई फॉर्मेट में आउटपुट पाएं।

कितने UUID?

आउटपुट फॉर्मेट

UUID वर्शन

वर्शनएल्गोरिदमसामान्य उपयोगType
v1Timestamp + MAC addressSortable IDs, time-ordered databasesरैंडम
v2DCE Security (POSIX UID)Legacy POSIX systems (rare)रैंडम
v3MD5 hash (namespace + name)Reproducible IDs from a name (legacy)डिटर्मिनिस्टिक
v4Random (122 random bits)Database primary keys, API request IDs, session tokensरैंडम
v5SHA-1 hash (namespace + name)Reproducible IDs from a name (preferred over v3)डिटर्मिनिस्टिक

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

UUID (Universally Unique Identifier) एक 128-बिट लेबल है जिसका उपयोग कंप्यूटर सिस्टम में जानकारी को विशिष्ट रूप से पहचानने के लिए किया जाता है। यह xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx पैटर्न में 32 हेक्साडेसिमल अंकों के रूप में फॉर्मेट होता है (जैसे 550e8400-e29b-41d4-a716-446655440000)। RFC 4122 में पांच वर्शन (v1-v5) परिभाषित हैं। UUID को इस तरह डिज़ाइन किया गया है कि किसी केंद्रीय प्राधिकरण की आवश्यकता नहीं - स्वतंत्र रूप से जनरेट किए गए दो UUID लगभग निश्चित रूप से अलग होंगे।
UUID v1 वर्तमान टाइमस्टैम्प और जनरेटिंग मशीन के MAC एड्रेस से बनाया जाता है - यह समय-क्रमबद्ध और ट्रेस करने योग्य होता है। UUID v4 एक क्रिप्टोग्राफिक रूप से सुरक्षित रैंडम नंबर जनरेटर का उपयोग करके 122 रैंडम बिट्स से बनाया जाता है - अनुमान लगाना असंभव और प्राइवेसी-फ्रेंडली। Database Primary Keys, API Request IDs, Session Tokens के लिए v4 सबसे अच्छा विकल्प है।
UUID v4 में 122 रैंडम बिट्स होते हैं, जिससे 2^122 (लगभग 5.3 x 10^36) संभावित मान मिलते हैं। दो समान v4 UUID जनरेट होने की संभावना इतनी कम है कि यह व्यावहारिक रूप से शून्य है। अगर आप 100 साल तक प्रति सेकंड 1 अरब UUID जनरेट करें, तब भी एक collision की 50% संभावना नहीं होगी। इसीलिए Distributed Systems और Database Primary Keys के लिए UUID का उपयोग बिना किसी Central Coordination के किया जाता है।
UUID v3 या v5 का उपयोग तब करें जब आपको किसी नाम से Deterministic (Repeatable) UUID चाहिए - जैसे हर बार उसी URL या Email के लिए वही UUID जनरेट करना। v5 SHA-1 Hashing का उपयोग करता है और v3 (MD5) से बेहतर है। दोनों के लिए एक Namespace UUID और Name String की जरूरत है, और वे हमेशा समान Input के लिए समान Output देंगे।