फ़ॉर्मैट से नहीं, स्थिति से गुटबद्ध
यह कैटेगरी किसी थीम से ज़्यादा एक दराज़ जैसी है। इसमें वे छोटे-छोटे कन्वर्ज़न हैं जिनकी ज़रूरत आपको तब पड़ती है जब असली काम कुछ और होता है, इसलिए ये यहाँ उस स्थिति के हिसाब से लिस्ट किए गए हैं जिसमें आप इनकी ओर मुड़ते हैं।
“इस लॉग में एक अस्पष्ट स्ट्रिंग है और मुझे नहीं पता वह क्या है।”
अगर वह 550e8400-e29b-41d4-a716-446655440000 जैसी दिखे, तो
UUID डिकोडर आपको उसका वर्ज़न बताता है, और v1, v6 व v7 के लिए वह टाइमस्टैम्प भी जब वह बनी थी। अगर वह SGVsbG8= जैसी दिखे या == पर ख़त्म हो, तो वह Base64 है —
इसे डिकोड करें। अगर वह 17 से शुरू होने वाली दस अंकों की खाली संख्या हो, तो वह लगभग अभी का
Unix टाइमस्टैम्प है।
“मुझे एक ID चाहिए।” UUID जनरेटर v1 और v3 से v7 तक बनाता है और टेस्ट डेटाबेस को भरने के लिए एक साथ हज़ारों बना देगा।
“यह टाइमस्टैम्प हज़ार गुने के फ़र्क से ग़लत है।” सेकंड या मिलीसेकंड — टाइमस्टैम्प कन्वर्टर दोनों संभालता है और बताता है कि आपने कौन-सी वैल्यू दी थी।
“मुझे यह डेटा URI असली फ़ाइल के रूप में चाहिए।” या उल्टा: Base64 से इमेज।
“वह रंग असल में क्या है?” नोटेशन के बीच बदलने के लिए कलर पिकर, और किसी स्क्रीनशॉट या मॉकअप से वैल्यू पढ़ने के लिए इमेज कलर पिकर।
“यह snake_case होना चाहिए और अभी camelCase है।” केस कन्वर्टर।
“0xDEADBEEF दशमलव में क्या है, और साइन्ड होने पर क्या होता है?” नंबर सिस्टम कन्वर्टर, जो ज़्यादातर टूल के उलट negative numbers और two’s complement भी संभालता है।
आइडेंटिफ़ायर उम्मीद से ज़्यादा जानकारी लीक करते हैं
यहाँ कहने लायक एक क्रॉस-कटिंग बात है, क्योंकि इसे किसी अकेले टूल पेज का हिस्सा नहीं माना जा सकता: इनमें से कई फ़ॉर्मैट ऐसी जानकारी साथ ले जाते हैं जिसे पब्लिश करने का आपका इरादा कभी नहीं था।
UUID v1 में टाइमस्टैम्प और मशीन का MAC एड्रेस दोनों बंद होते हैं। यही मूल डिज़ाइन था — अनूठापन “यह मशीन, इस पल” से गारंटीड। इसका यह भी मतलब है कि किसी पब्लिक URL में मौजूद v1 UUID किसी भी दिलचस्पी रखने वाले को ठीक-ठीक बता देता है कि रिकॉर्ड कब बना था, और उस सर्वर के लिए एक स्थिर पहचान भी दे देता है जिसने उसे बनाया। इसे आप खुद डिकोडर में कोई UUID पेस्ट करके कन्फ़र्म कर सकते हैं।
UUID v7 में भी Unix टाइमस्टैम्प बंद होता है, जानबूझकर, क्योंकि ID से सॉर्ट करना और बनने के समय से सॉर्ट करना एक ही चीज़ होना डेटाबेस इंडेक्स लोकैलिटी के लिए बेहद फ़ायदेमंद है। इसकी कीमत भी वही जानकारी उजागर होना है: v7 ID क्रम में होते हैं, इसलिए इन्हें सार्वजनिक करने से बनने के समय पता चल जाते हैं और कोई भी दो ID देखकर अंदाज़ा लगा सकता है कि आप हर घंटे कितने रिकॉर्ड बनाते हैं।
v4 वही है जो कुछ भी उजागर नहीं करता — 122 बिट रैंडमनेस और कोई ढाँचा नहीं। यही वजह है कि यूज़र-फ़ेसिंग किसी भी चीज़ के लिए यह डिफ़ॉल्ट बना रहता है, और यही वजह है कि “एक ही टेबल के लिए प्राइमरी की v7, पब्लिक आइडेंटिफ़ायर v4” एक उचित नियम है।
Base64 सब कुछ उजागर करता है, तुरंत, किसी को भी। यह छुपाव नहीं है। Kubernetes सीक्रेट Base64-एन्कोडेड इसलिए होता है ताकि बाइनरी वैल्यू YAML में बची रहें, उन्हें सुरक्षित रखने के लिए नहीं।
इस पेज पर सब कुछ स्थानीय रूप से चलता है, और इस कैटेगरी के लिए यह बाकी सबसे ज़्यादा मायने रखता है: प्रोडक्शन आइडेंटिफ़ायर, टोकन और लॉग के टुकड़े ठीक वही चीज़ें हैं जिन्हें डिकोड करवाने के लिए किसी और के सर्वर पर पेस्ट नहीं करना चाहिए।