𝗕𝗮𝘀𝗲𝟲𝟰 𝗘𝗻𝗰𝗼𝗱𝗶𝗻𝗴 𝗙𝗼𝗿 𝗗𝗲𝘃𝗲𝗹𝗼𝗽𝗲𝗿𝘀
நீங்கள் 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