Base64 एन्कोडिंग की व्याख्या

Base64 हर जगह है। आप इसे CSS और JWT टोकन में देखते हैं। कई डेवलपर्स इसे बिना यह जाने इस्तेमाल करते हैं कि यह कैसे काम करता है।

Base64 बाइनरी डेटा को टेक्स्ट स्ट्रिंग में बदल देता है। यह 64 कैरेक्टर्स का उपयोग करता है। इनमें A-Z, a-z, 0-9, प्लस (+) और स्लैश (/) शामिल हैं। यह पैडिंग के लिए बराबर के चिह्न (=) का उपयोग करता है।

Base64 एन्क्रिप्शन नहीं है। यह बाइनरी डेटा को टेक्स्ट चैनल्स के लिए सुरक्षित बनाता है।

यह कैसे काम करता है:

  • बाइनरी डेटा को 3-बाइट समूहों में विभाजित करें।
  • इन्हें चार 6-बिट चंक्स (chunks) में विभाजित करें।
  • प्रत्येक चंक को एक Base64 कैरेक्टर से मैप करें।

उदाहरण: "Man" शब्द "TWFu" बन जाता है।

आप Base64 का उपयोग इनके लिए करते हैं:

  • ईमेल अटैचमेंट।
  • HTML में इमेज एम्बेड करने के लिए।
  • JWT टोकन।
  • JSON के माध्यम से बाइनरी डेटा भेजने के लिए।
  • बेसिक HTTP ऑथेंटिकेशन।

Javascript इसे नेटिव रूप से सपोर्ट करता है। एन्कोड करने के लिए btoa का उपयोग करें। डिकोड करने के लिए atob का उपयोग करें।

Node.js फाइलों के लिए data.toString('base64') का उपयोग करता है।

कुछ सिस्टम Base64url का उपयोग करते हैं। यह वर्ज़न URLs के लिए सुरक्षित है। यह प्लस (+) को माइनस (-) से और स्लैश (/) को अंडरस्कोर (_) से बदल देता है। यह पैडिंग को हटा देता है।

इन बातों को याद रखें:

  • Base64 एक एन्कोडिंग है। यह सुरक्षा (security) नहीं है।
  • आउटपुट 33 प्रतिशत बड़ा होता है।
  • टेक्स्ट चैनल्स के माध्यम से बाइनरी डेटा भेजने के लिए इसका उपयोग करें।
  • URLs के लिए Base64url का उपयोग करें।

स्रोत: https://dev.to/moksh/base64-encoding-explained-a-practical-guide-for-developers-49hh