کدگذاری Base64 برای توسعه‌دهندگان

شما از Base64 در CSS و توکن‌های JWT استفاده می‌کنید. باید بدانید که این فرآیند چگونه کار می‌کند.

Base64 داده‌های باینری را به یک رشته متنی تبدیل می‌کند. این روش از یک مجموعه ۶۴ کاراکتری استفاده می‌کند که شامل A-Z، a-z، 0-9، + و / است. علامت = برای مدیریت پدینگ (padding) استفاده می‌شود.

Base64 یک کدگذاری (encoding) است، نه رمزنگاری (encryption). هرگز از آن برای مسائل امنیتی استفاده نکنید.

نحوه عملکرد:

  • تقسیم داده‌های باینری به گروه‌های ۳ بایتی.
  • تقسیم این گروه‌ها به چهار بخش ۶ بیتی.
  • نگاشت هر بخش به یک کاراکتر.

کاربردهای رایج:

  • پیوست‌های ایمیل.
  • تصاویر در HTML و CSS.
  • توکن‌های JWT.
  • پاسخ‌های API.
  • هدرهای Basic Auth.

مثال‌های کدنویسی: استفاده از btoa برای کدگذاری رشته‌ها. استفاده از atob برای رمزگشایی رشته‌ها. در Node.js، از data.toString('base64') استفاده کنید.

Base64url یک نسخه مخصوص برای URLها است. این نسخه + را با - و / را با _ جایگزین می‌کند و پدینگ را حذف می‌کند. برای JWTها از این نسخه استفاده کنید.

این نکات را به خاطر بسپارید:

  • خروجی ۳۳٪ بزرگتر از داده اصلی است.
  • فقط برای کانال‌های متنی از آن استفاده کنید.
  • برای URLها از Base64url استفاده کنید.

منبع: https://dev.to/moksh/base64-encoding-explained-a-practical-guide-for-developers-49hh