بازگشت

Base64 Encoder/Decoder

رمزنگاری

رمزگذاری و رمزگشایی Base64 از متن یا فایل

آفلاین داده‌های شما روی مرورگر رمزنگاری

آپلود فایل

فایل را اینجا رها کنید یا کلیک کنید

Base64 چیست و چرا به آن نیاز داریم؟

اگر تا به حال با APIها کار کرده باشید، ایمیلی با پیوست ارسال کرده باشید یا عکسی را مستقیماً در CSS یا HTML جاسازی کرده باشید، احتمالاً بدون اینکه بدانید با Base64 سروکار داشته‌اید. Base64 یک روش استاندارد رمزگذاری داده‌های باینری به متن ASCII است — به زبان ساده، داده‌هایی را که کامپیوتر می‌فهمد ولی سیستم‌های متنی نمی‌توانند منتقل کنند، به شکلی تبدیل می‌کند که همه‌جا قابل استفاده باشد.

Base64 چطور کار می‌کند؟

در این روش، هر ۳ بایت از داده‌ی اصلی به ۴ کاراکتر از یک الفبای ۶۴تایی (A–Z، a–z، 0–9 و دو کاراکتر + و /) تبدیل می‌شود. نتیجه رشته‌ای است که فقط از حروف و اعداد ایمن تشکیل شده و می‌توان آن را بدون دردسر در هر پروتکل متنی — از HTTP و JSON گرفته تا XML، ایمیل MIME و حتی URL — جاسازی کرد. به همین دلیل است که طول داده‌ی رمزگذاری‌شده حدود ۳۳٪ بیشتر از داده‌ی اصلی می‌شود؛ قیمتی که برای این سازگاری پرداخت می‌کنیم.

کاربردهای رایج رمزگذاری Base64

Base64 Encoder/Decoder در دنیای توسعه‌ی وب و برنامه‌نویسی جاهای زیادی پیدا می‌شود:

  • جاسازی تصویر در CSS/HTML: با فرمت Data URL (data:image/png;base64,...) می‌توانید عکس‌ها را مستقیماً در کد قرار دهید و یک درخواست HTTP حذف کنید.
  • احراز هویت Basic Auth: مرورگرها و کلاینت‌های HTTP نام کاربری و رمز عبور را به‌صورت Base64 در هدر Authorization ارسال می‌کنند.
  • پیوست ایمیل (MIME): تمام فایل‌هایی که از طریق ایمیل ارسال می‌شوند، پیش از ارسال با Base64 انکد می‌شوند.
  • ذخیره‌ی داده در JSON یا XML: ارسال فایل‌های باینری در درخواست‌های API که فقط متن می‌پذیرند.
  • توکن‌های JWT: بخش header و payload هر JSON Web Token با Base64Url — نسخه‌ای URL-safe از Base64 — کدگذاری می‌شود.
  • تبدیل فونت به Data URI: طراحان وب برای حذف درخواست جداگانه‌ی فونت، آن را inline می‌کنند تا صفحه سریع‌تر بارگذاری شود.

تفاوت رمزگذاری و رمزنگاری

یک نکته‌ی مهم که خیلی از توسعه‌دهندگان مبتدی دچار اشتباه می‌شوند: Base64 رمزنگاری (Encryption) نیست، بلکه صرفاً یک روش کدگذاری (Encoding) است. هر کسی می‌تواند یک رشته‌ی Base64 را بدون هیچ کلید یا رمزی به داده‌ی اصلی برگرداند — فقط کافیست از یک ابزار دیکد Base64 استفاده کند. اگر امنیت داده برایتان مهم است، باید از الگوریتم‌های رمزنگاری واقعی مثل AES یا RSA استفاده کنید. Base64 فقط برای قابل انتقال کردن داده طراحی شده، نه پنهان کردن آن.

ابزار آنلاین رمزگذار و رمزگشای Base64 فارسی

با ابزار Base64 آنلاین وزیروب، می‌توانید هم متن فارسی و هم متن انگلیسی را بدون هیچ محدودیتی کدگذاری کنید. پشتیبانی کامل از یونیکد تضمین می‌کند که کاراکترهای فارسی، عربی، چینی و ایموجی همه درست تبدیل شوند. علاوه بر تبدیل متن به Base64، امکان آپلود مستقیم فایل و رمزگذاری آن نیز وجود دارد؛ برعکس این عملیات هم ممکن است — یعنی می‌توانید یک رشته‌ی Base64 را دریافت کرده و فایل اصلی را دانلود کنید. همه‌ی پردازش‌ها کاملاً در مرورگر انجام می‌شود و هیچ داده‌ای به سرور ارسال نمی‌گردد؛ پس استفاده از این ابزار آفلاین Base64 برای داده‌های حساس هم امن است.

نسخه‌ی URL-Safe Base64

در Base64 استاندارد، کاراکترهای + و / در URL معنای خاصی دارند و ممکن است مشکل‌ساز شوند. به همین خاطر نسخه‌ی URL-Safe Base64 (یا Base64Url) این دو کاراکتر را با - و _ جایگزین می‌کند. اگر می‌خواهید خروجی مبدل Base64 را در URL، نام فایل یا توکن JWT استفاده کنید، حتماً از این نسخه بهره ببرید.

سوالات متداول

پاسخ سوالات رایج درباره این ابزار

آیا Base64 یک روش رمزنگاری امن است؟

خیر. Base64 صرفاً یک روش کدگذاری (Encoding) است، نه رمزنگاری (Encryption). هر کسی می‌تواند با یک ابزار دیکد Base64 آنلاین، بدون نیاز به رمز یا کلید، داده‌ی کدگذاری‌شده را به متن اصلی تبدیل کند. برای حفاظت واقعی از داده، باید از الگوریتم‌های رمزنگاری مانند AES-256 یا RSA استفاده شود.

چرا رشته‌ی Base64 از متن اصلی طولانی‌تر است؟

در رمزگذاری Base64، هر ۳ بایت از داده به ۴ کاراکتر ASCII تبدیل می‌شود. این یعنی حجم داده‌ی خروجی حدود ۳۳ درصد بیشتر از داده‌ی اصلی خواهد بود. این افزایش حجم قیمتی است که برای سازگاری با پروتکل‌های متنی مانند HTTP، ایمیل MIME و JSON می‌پردازیم.

تفاوت Base64 استاندارد و Base64Url (URL-Safe) چیست؟

Base64 استاندارد از کاراکترهای + و / استفاده می‌کند که در URL معنای خاصی دارند و ممکن است باعث خطا شوند. نسخه‌ی URL-Safe یا Base64Url این دو کاراکتر را با - و _ جایگزین می‌کند تا خروجی مستقیماً در URL، نام فایل و توکن‌های JWT (JSON Web Token) قابل استفاده باشد.

آیا می‌توان تصویر را با Base64 در HTML جاسازی کرد؟

بله. با فرمت Data URL می‌توانید تصویر را مستقیماً در کد HTML یا CSS جاسازی کنید: <img src='data:image/png;base64,...'>. این روش تعداد درخواست‌های HTTP را کاهش می‌دهد و برای آیکون‌های کوچک یا لوگو مناسب است. اما برای تصاویر بزرگ توصیه نمی‌شود چون حجم صفحه را قابل توجه افزایش می‌دهد.