कॉन्फ़िग फ़ाइल पासवर्ड एन्कोडर
पासवर्ड को JSON, YAML, TOML, XML, Java .properties, INI, URL कनेक्शन स्ट्रिंग और SQL लिटरल के लिए सही तरह से एस्केप करें ताकि वह बिना बदले पढ़ा जाए।
नतीजे को सेटिंग के मान वाले हिस्से में पेस्ट करें। YAML जहाँ हो सके सिंगल कोट इस्तेमाल करता है, TOML जहाँ हो सके लिटरल स्ट्रिंग, URL रूप A–Z a–z 0–9 - . _ ~ के अलावा हर बाइट को परसेंट-एन्कोड करता है, और SQL सिंगल कोट को दो बार लिखता है (मानक SQL; बैकस्लैश एस्केप चालू वाले MySQL में \ को भी दो बार लिखना होता है)।
पूरी तरह आपके ब्राउज़र में चलता है। आपका डेटा कभी अपलोड नहीं होता।
कॉन्फ़िग फ़ाइल पासवर्ड एन्कोडर क्या है?
पासवर्ड पेस्ट करें और उसे आठ कॉन्फ़िगरेशन प्रारूपों के लिए एक साथ सही तरह एस्केप किया हुआ पाएँ: JSON, YAML, TOML, XML, Java .properties, INI, URL/कनेक्शन स्ट्रिंग और SQL स्ट्रिंग लिटरल। हर आउटपुट पार्स होकर ठीक मूल मान देता है।
कॉन्फ़िग फ़ाइल पासवर्ड एन्कोडर का उपयोग कैसे करें
- पासवर्ड फ़ील्ड में पासवर्ड लिखें।
- सूची में अपना ज़रूरी प्रारूप ढूँढें।
- एस्केप किया मान उसके कॉपी करें बटन से कॉपी करें।
- उसे अपने कॉन्फ़िगरेशन के मान वाले हिस्से में पेस्ट करें।
उदाहरण
p@ss'w"rd$1
JSON "p@ss'w\"rd$1" YAML 'p@ss''w"rd$1' TOML "p@ss'w\"rd$1" XML p@ss'w"rd$1 URL p%40ss%27w%22rd%241 SQL 'p@ss''w"rd$1'
हर प्रारूप की पंक्ति पार्स होकर वही मूल पासवर्ड देती है।
कॉन्फ़िग फ़ाइल पासवर्ड एन्कोडर का उपयोग कब करें
जब भी कोई सीक्रेट हाथ से कॉन्फ़िग फ़ाइल या कनेक्शन स्ट्रिंग में जाए, इसका उपयोग करें। प्रोडक्शन सीक्रेट के लिए सीक्रेट मैनेजर या एनवायरनमेंट वैरिएबल को प्राथमिकता दें।
कॉन्फ़िग फ़ाइल पासवर्ड एन्कोडर कैसे काम करता है
JSON, JSON.stringify उपयोग करता है। YAML सिंगल-कोटेड स्केलर (' के लिए '') इस्तेमाल करता है, जब तक कंट्रोल अक्षरों के कारण डबल-कोटेड न चाहिए। TOML संभव होने पर शाब्दिक 'string' इस्तेमाल करता है, वरना \" \\ और \uXXXX एस्केप वाली बेसिक स्ट्रिंग। XML & < > " ' और टैब/नई पंक्तियों को कैरेक्टर रेफ़रेंस से एस्केप करता है। .properties \, =, :, #, !, शुरुआती स्पेस और ग़ैर-ASCII को \uXXXX के रूप में एस्केप करता है। URL userinfo A–Z a–z 0–9 - . _ ~ को छोड़कर हर बाइट को पर्सेंट-एन्कोड करता है। SQL सिंगल कोट को दोगुना करता है। INI में कोई मानक एस्केप नहीं है, इसलिए " या पंक्ति-विराम वाले मान असुरक्षित बताए जाते हैं।
सामान्य उपयोग मामले
- PostgreSQL या MongoDB कनेक्शन URL में @ और : वाला पासवर्ड रखना
- YAML Kubernetes या Ansible फ़ाइल में सीक्रेट जोड़ना
- Spring की application.properties फ़ाइल में पासवर्ड एस्केप करना
- SQL स्टेटमेंट से टेस्ट यूज़र डालना
अक्सर पूछे जाने वाले प्रश्न
कनेक्शन स्ट्रिंग में पासवर्ड को URL-एन्कोड क्यों करना चाहिए?
@, :, / और # जैसे अक्षरों का URL में विशेष अर्थ होता है; बिना एन्कोड @ पार्सर को पासवर्ड का हिस्सा होस्ट समझने पर मजबूर कर देता है।
क्या SQL लिटरल इंजेक्शन से सुरक्षित है?
यह मानक SQL एस्केपिंग के हिसाब से सही है, पर एप्लिकेशन कोड में हमेशा पैरामीटराइज़्ड क्वेरी को प्राथमिकता दें।
कुछ मानों के लिए INI को असुरक्षित क्यों चिह्नित किया जाता है?
INI में डबल कोट या नई पंक्तियों को एस्केप करने का कोई मानक तरीक़ा नहीं है और पार्सर अलग हैं, इसलिए टूल अंदाज़ा लगाने की जगह मना कर देता है।