𝗕𝗮𝘀𝗲𝟲𝟰 𝗘𝗻𝗰𝗼𝗱𝗶𝗻𝗴 𝗘𝘅𝗽𝗹𝗮𝗶𝗻𝗲𝗱

Base64 সবখানেই রয়েছে। আপনি এটি CSS এবং JWT টোকেনে দেখতে পান। অনেক ডেভেলপার এটি কীভাবে কাজ করে তা না জেনেই ব্যবহার করেন।

Base64 বাইনারি ডেটাকে একটি টেক্সট স্ট্রিং-এ রূপান্তরিত করে। এটি ৬৪টি ক্যারেক্টার ব্যবহার করে। এর মধ্যে রয়েছে A-Z, a-z, 0-9, প্লাস (+) এবং স্ল্যাশ (/)। প্যাডিংয়ের জন্য এটি সমান চিহ্ন (=) ব্যবহার করে।

Base64 কোনো এনক্রিপশন নয়। এটি টেক্সট চ্যানেলের জন্য বাইনারি ডেটাকে নিরাপদ করে তোলে।

এটি যেভাবে কাজ করে:

  • বাইনারি ডেটাকে ৩-বাইটের গ্রুপে বিভক্ত করুন।
  • এগুলোকে চারটি ৬-বিট চ্যাঙ্কে ভাগ করুন।
  • প্রতিটি চ্যাঙ্ককে একটি Base64 ক্যারেক্টারের সাথে ম্যাপ করুন।

উদাহরণ: Man শব্দটি হয়ে যায় TWFu।

আপনি Base64 ব্যবহার করেন:

  • ইমেল অ্যাটাচমেন্টের জন্য।
  • HTML-এ ইমেজ এমবেড করার জন্য।
  • JWT টোকেনের জন্য।
  • JSON-এর মাধ্যমে বাইনারি ডেটা পাঠানোর জন্য।
  • বেসিক HTTP অথেন্টিকেশনের জন্য।

Javascript এটি নেটিভলি সাপোর্ট করে। এনকোড করতে btoa ব্যবহার করুন। ডিকোড করতে atob ব্যবহার করুন।

Node.js ফাইলের জন্য data.toString('base64') ব্যবহার করে।

কিছু সিস্টেম Base64url ব্যবহার করে। এই ভার্সনটি URL-এর জন্য নিরাপদ। এটি প্লাস (+) চিহ্নের পরিবর্তে মাইনাস (-) এবং স্ল্যাশ (/) চিহ্নের পরিবর্তে আন্ডারস্কোর (_) ব্যবহার করে। এটি প্যাডিং সরিয়ে ফেলে।

এই পয়েন্টগুলো মনে রাখুন:

  • Base64 হলো এনকোডিং। এটি কোনো সিকিউরিটি নয়।
  • আউটপুট ৩৩ শতাংশ বড় হয়।
  • টেক্সট চ্যানেলের মাধ্যমে বাইনারি ডেটা পাঠানোর জন্য এটি ব্যবহার করুন।
  • URL-এর জন্য Base64url ব্যবহার করুন।

উৎস: https://dev.to/moksh/base64-encoding-explained-a-practical-guide-for-developers-49hh