𝗕𝗮𝘀𝗲𝟲𝟰 𝗘𝗻𝗰𝗼𝗱𝗶𝗻𝗴 𝗙𝗼𝗿 𝗗𝗲𝘃𝗲𝗹𝗼𝗽𝗲𝗿𝘀

நீங்கள் CSS மற்றும் JWT டோக்கன்களில் Base64-ஐப் பயன்படுத்துகிறீர்கள். அது எவ்வாறு செயல்படுகிறது என்பதை நீங்கள் தெரிந்து கொள்ள வேண்டும்.

Base64 பைனரி தரவை (binary data) ஒரு உரைச் சரமாக (text string) மாற்றுகிறது. இது 64 எழுத்துத் தொகுப்பைப் பயன்படுத்துகிறது. இதில் A-Z, a-z, 0-9, +, மற்றும் / ஆகியவை அடங்கும். = குறியீடு பேடிங்கிற்கு (padding) பயன்படுத்தப்படுகிறது.

Base64 என்பது என்கோடிங் (encoding) மட்டுமே. இது என்க்ரிப்ஷன் (encryption) அல்ல. பாதுகாப்பிற்காக இதை ஒருபோதும் பயன்படுத்த வேண்டாம்.

இது எவ்வாறு செயல்படுகிறது:

  • பைனரி தரவை 3 பைட் (byte) குழுக்களாகப் பிரிக்கவும்.
  • இவற்றை நான்கு 6-பிட் துண்டுகளாகப் பிரிக்கவும்.
  • ஒவ்வொரு துண்டையும் ஒரு எழுத்துடன் இணைக்கவும்.

பொதுவான பயன்பாடுகள்:

  • மின்னஞ்சல் இணைப்புகள் (Email attachments).
  • HTML மற்றும் CSS-இல் உள்ள படங்கள்.
  • JWT டோக்கன்கள்.
  • API பதில்கள் (responses).
  • Basic Auth தலைப்புகள் (headers).

கோடிங் உதாரணங்கள்: சரங்களை என்கோட் செய்ய btoa-வைப் பயன்படுத்தவும். சரங்களை டீகோட் செய்ய atob-வைப் பயன்படுத்தவும். Node.js-இல், data.toString('base64')-ஐப் பயன்படுத்தவும்.

Base64url என்பது URL-களுக்கான ஒரு சிறப்பு பதிப்பாகும். இது + என்பதற்குப் பதிலாக - மற்றும் / என்பதற்குப் பதிலாக _ ஆகியவற்றைப் பயன்படுத்துகிறது. இது பேடிங்கை (padding) நீக்குகிறது. JWT-களுக்கு இதைப் பயன்படுத்தவும்.

இந்தத் தகவல்களை நினைவில் கொள்ளவும்:

  • வெளியீடு (Output) அசலை விட 33% பெரியதாக இருக்கும்.
  • உரை சார்ந்த சேனல்களுக்கு (text only channels) மட்டும் இதைப் பயன்படுத்தவும்.
  • URL-களுக்கு Base64url-ஐப் பயன்படுத்தவும்.

ஆதாரம்: https://dev.to/moksh/base64-encoding-explained-a-practical-guide-for-developers-49hh