𝗕𝗮𝘀𝗲𝟲𝟰 𝗘𝗻𝗰𝗼𝗱𝗶𝗻𝗴 விளக்கம்
Base64 எல்லா இடங்களிலும் உள்ளது. நீங்கள் இதை CSS மற்றும் JWT tokens-களில் காணலாம். பல டெவலப்பர்கள் இது எவ்வாறு செயல்படுகிறது என்பதை அறியாமலேயே இதைப் பயன்படுத்துகின்றனர்.
Base64 பைனரி தரவை (binary data) ஒரு உரை சரமாக (text string) மாற்றுகிறது. இது 64 எழுத்துக்களைப் பயன்படுத்துகிறது. இதில் A-Z, a-z, 0-9, பிளஸ் (+) மற்றும் ஸ்லாஷ் (/) ஆகியவை அடங்கும். இது பேடிங்கிற்கு (padding) சமக்குறியை (=) பயன்படுத்துகிறது.
Base64 என்பது encryption அல்ல. இது பைனரி தரவை உரை வழித்தடங்களுக்கு (text channels) பாதுகாப்பானதாக மாற்றுகிறது.
இது எவ்வாறு செயல்படுகிறது:
- பைனரி தரவை 3-பைட் குழுக்களாகப் பிரிக்கவும்.
- இவற்றை நான்கு 6-பிட் துண்டுகளாகப் பிரிக்கவும்.
- ஒவ்வொரு துண்டையும் ஒரு Base64 எழுத்துடன் இணைக்கவும்.
உதாரணம்: Man என்ற சொல் TWFu என மாறும்.
நீங்கள் Base64-ஐ இதற்காகப் பயன்படுத்தலாம்:
- மின்னஞ்சல் இணைப்புகள் (Email attachments).
- HTML-இல் படங்களை இணைக்க (Embedding images).
- JWT tokens.
- JSON வழியாக பைனரி தரவை அனுப்ப.
- அடிப்படை HTTP authentication.
Javascript இதை இயல்பாகவே (natively) ஆதரிக்கிறது.
குறியாக்கத்திற்கு (encode) btoa-வைப் பயன்படுத்தவும்.
குறியாக்கத்தை நீக்க (decode) atob-வைப் பயன்படுத்தவும்.
Node.js கோப்புகளுக்கு data.toString('base64')-ஐப் பயன்படுத்துகிறது.
சில அமைப்புகள் Base64url-ஐப் பயன்படுத்துகின்றன. இந்த பதிப்பு URL-களுக்குப் பாதுகாப்பானது. இது பிளஸ் (+) குறியீட்டிற்குப் பதிலாக மைனஸ் (-) குறியீட்டையும், ஸ்லாஷிற்கு (/) பதிலாக அண்டர்ஸ்கோர் (_) குறியீட்டையும் மாற்றுகிறது. இது பேடிங்கை (padding) நீக்குகிறது.
இந்தத் தகவல்களை நினைவில் கொள்ளவும்:
- Base64 என்பது encoding மட்டுமே. இது security அல்ல.
- இதன் வெளியீடு (output) 33 சதவீதம் பெரியதாக இருக்கும்.
- உரை வழித்தடங்கள் மூலம் பைனரி தரவை அனுப்ப இதைப் பயன்படுத்தவும்.
- URL-களுக்கு Base64url-ஐப் பயன்படுத்தவும்.
ஆதாரம்: https://dev.to/moksh/base64-encoding-explained-a-practical-guide-for-developers-49hh