رمزگذاری/رمزگشایی Base64 (متن)

Loading dropzone…

Input

Output

درباره این رمزگذار Base64 رمزگذار آنلاین Base64

بخشی از «استودیو Base64» Encode64، این رمزگذار متن، JSON و دارایی‌های باینری کوچک را به رشته‌های Base64 تبدیل می‌کند که آماده چسباندن در هدرها، HTML/CSS، متغیرهای محیطی یا فیکسچرهای تست هستند. بدون نیاز به ورود، نصب یا پردازش سمت سرور.

چرا از این رمزگذار Base64 استفاده کنیم

  • رمزگذاری فوری Base64 برای متن، JSON و داده‌های باینری کوچک
  • پشتیبانی از فایل‌ها (متن، تصاویر، باینری) برای تبدیل سریع به رشته‌های Base64
  • گزینه ایمن برای URL برای JWTs، پارامترهای کوئری و محیط‌های وب ایمن
  • گزینه پیچیدن خطوط برای شبیه‌سازی ابزارهای CLI یا قالب‌های ایمیل / PEM
  • کپی با یک کلیک برای استفاده آسان در هدرها، پیکربندی‌ها و کد
  • رابط کاربری واکنش‌گرا که به خوبی در دسکتاپ و موبایل کار می‌کند
  • رمزگذاری در مرورگر شما انجام می‌شود — داده‌های شما به سرور راه دور ارسال نمی‌شود

🔧 نحوه عملکرد رمزگذاری Base64 (گام به گام) for base64-encoder

1

ورودی را ارائه دهید

متن، JSON یا قطعه کد خود را در ناحیه ورودی جایگذاری کنید، یا یک فایل را رها کنید تا بایت‌های خام آن به Base64 تبدیل شود. ابزار بایت‌ها را دقیقاً همانطور که هستند می‌خواند.

2

تبدیل به بایت

رمزگذار کاراکترها (مانند متن UTF-8) یا محتوای فایل را به بایت تبدیل می‌کند. هر بایت یک مقدار 8 بیتی بین 0 تا 255 است.

3

گروه‌بندی مجدد بیت‌ها به شاخص‌های Base64

هر 3 بایت (3 × 8 = 24 بیت) به 4 گروه 6 بیتی (4 × 6 = 24) گروه‌بندی مجدد می‌شوند. هر گروه 6 بیتی یک شاخص در الفبای Base64 است.

4

نگاشت به کاراکترهای Base64 و پر کردن

هر شاخص 6 بیتی به یک کاراکتر Base64 تبدیل می‌شود. اگر ورودی بر 3 بایت بخش‌پذیر نباشد، '=' برای پر کردن اضافه می‌شود تا طول خروجی همیشه مضربی از 4 کاراکتر باشد.

مشخصات فنی

مجموعه کاراکترها (RFC 4648)

این رمزگذار از الفبای استاندارد Base64 تعریف شده توسط RFC 4648 استفاده می‌کند.

محدوده / نوعکاراکترهایادداشت‌ها
شاخص‌های 0–25A–Zحروف بزرگ
شاخص‌های 26–51a–zحروف کوچک
شاخص‌های ۵۲–۶۱۰–۹ارقام
شاخص‌های ۶۲–۶۳+ /نمادهای استاندارد Base64
پرکننده=اطمینان می‌دهد طول خروجی مضربی از ۴ باشد

اندازه و سربار

Base64 اندازه را برای ایمنی در کانال‌های متنی فدا می‌کند. انتظار حدود یک‌سوم داده بیشتر پس از رمزگذاری داشته باشید.

اندازه اصلیاندازه Base64 (تقریبی)سربار
۳ بایت۴ کاراکتر~۳۳٪ بزرگ‌تر
۱ کیلوبایت≈ ۱.۳۷ کیلوبایت~۳۷٪ شامل پرکننده و خطوط جدید
۱ مگابایت≈ ۱.۳۷ مگابایتنسبت یکسان در مقیاس‌های بزرگتر
از Base64 زمانی استفاده کنید که به انتقال ایمن متن نیاز دارید (مثلاً هدرهای HTTP، JSON، HTML)، نه به عنوان روش فشرده‌سازی.

عملکرد و محدودیت‌های عملی

رمزگذاری خود سریع است، اما بافرهای بزرگ می‌توانند بر حافظه مرورگر و پاسخگویی تأثیر بگذارند.

اندازه محمولهتجربه کاربریتوصیه
چند کیلوبایتفوریایده‌آل برای هدرها، قطعات پیکربندی و داده‌های آزمایشی
۱۰۰ کیلوبایت – ۱ مگابایتبسیار پاسخگومعمول برای محموله‌های API و فیکسچرها
۱–۵ مگابایتعموماً در سخت‌افزارهای مدرن خوب استاگر اغلب این کار را انجام می‌دهید، ابزارهای CLI را در نظر بگیرید
> ۵–۱۰ مگابایتممکن است در مرورگر کند یا حافظه‌بر احساس شوداز رمزگذارهای جریانی یا ابزارهای خط فرمان استفاده کنید

رمزگذاری Base64 در خط فرمان

برای فایل‌های بزرگ، اتوماسیون یا گردش کارهای CI، از ابزارهای بومی Base64 در پلتفرم خود استفاده کنید.

لینوکس / 🍏 مک

رمزگذاری یک رشته

echo -n 'text' | base64

رشته 'text' را به صورت Base64 رمزگذاری می‌کند بدون افزودن خط جدید.

رمزگذاری یک فایل

base64 input.bin > output.b64

داده‌های باینری را از input.bin خوانده و متن Base64 را در output.b64 می‌نویسد.

ویندوز / PowerShell

رمزگذاری رشته با PowerShell

[Convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes("text"))

بایت‌های UTF-8 برای 'text' را به یک رشته Base64 تبدیل می‌کند.

رمزگذاری فایل با certutil (CMD)

certutil -encode input.bin output.b64

از ابزار داخلی ویندوز برای ایجاد فایل رمزگذاری شده با Base64 استفاده می‌کند.

کاربردهای عملی

توسعه وب و Data URIs

دارایی‌ها و منابع کوچک را مستقیماً در HTML، CSS یا JavaScript قرار دهید.

  • تولید data:image/...;base64,... برای لوگوها، آیکون‌ها و تصاویر کوچک.
  • قرار دادن فونت‌ها یا محتوای SVG در قوانین CSS.
  • ذخیره محموله‌های کوچک در LocalStorage به صورت رشته‌های Base64.
<img src="data:image/png;base64,iVBORw0KGgo...">
document.styleSheets[0].insertRule("@font-face{src:url('data:font/woff2;base64,...')}" );

توسعه API و هدرها

انتقال ایمن اعتبارنامه‌ها و محموله‌های کوچک از طریق کانال‌های متنی.

  • ساخت هدرهای Authorization: Basic از جفت‌های نام کاربری:رمز عبور.
  • رمزگذاری محموله‌های JSON به Base64 برای هدرهای سفارشی یا پارامترهای پرس‌وجو.
  • پیچیدن بسته‌های باینری در JSON به صورت رشته‌های Base64.
Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=
fetch(url, { headers: { 'X-Payload': btoa(JSON.stringify(data)) } });

تست‌ها، فیکسچرها و دیباگ

ایجاد فیکسچرهای پایدار و متنی برای تست‌ها و جلسات دیباگ.

  • رمزگذاری فیکسچرهای باینری (تصاویر، PDFها) و قرار دادن آن‌ها در کد تست.
  • ذخیره نمونه محموله‌ها به صورت رشته‌های Base64 به جای کامیت فایل‌های باینری.
  • نمونه‌های محموله برای سرویس‌هایی که فیلدهای کدگذاری شده با Base64 را انتظار دارند.
// مثال: تست Jest با استفاده از fixture پایه64
const payload = Buffer.from(base64Fixture, 'base64');
expect(processPayload(payload)).toBeTruthy();

❓ Frequently Asked Questions

چرا Base64 از padding '=' استفاده می‌کند؟

Base64 ورودی را به بلوک‌های 3 بایتی (24 بیتی) گروه‌بندی کرده و 4 کاراکتر (4 × 6 بیت) خروجی می‌دهد. وقتی طول ورودی بر 3 بخش‌پذیر نباشد، کاراکترهای padding '=' اضافه می‌شوند تا نشان دهند بلوک آخر کوتاه‌تر است. این padding بخشی از فرمت کدگذاری است، نه داده اصلی.

🔗چگونه Base64 ایمن برای URL تولید کنم؟

Base64 ایمن برای URL، '+' را با '-' و '/' را با '_' جایگزین می‌کند و اغلب padding انتهایی '=' را حذف می‌کند. بسیاری از کتابخانه‌ها حالت ایمن برای URL دارند. اگر نیاز به انجام دستی دارید، از Base64 استاندارد شروع کنید، سپس این جایگزینی‌ها را اعمال کرده و '=' را برای مورد استفاده خود حذف کنید.

🔒آیا کدگذاری Base64 یک اقدام امنیتی است؟

خیر. Base64 یک **کدگذاری** برگشت‌پذیر است که داده‌های باینری را برای انتقال به صورت متن ایمن می‌کند (مثلاً در JSON، HTML یا هدرها). به خودی خود هیچ محرمانگی یا یکپارچگی ارائه نمی‌دهد. همیشه برای امنیت از HTTPS/TLS و رمزنگاری مناسب (مانند AES یا طرح‌های کلید عمومی) استفاده کنید.

📏حداکثر اندازه فایلی که می‌توانم اینجا کدگذاری کنم چقدر است؟

این کدگذار آنلاین برای محموله‌های تا چند مگابایت راحت‌ترین است. فایل‌های باینری بزرگتر ممکن است هنوز کار کنند اما در مرورگر کند یا حافظه‌بر خواهند بود. برای فایل‌های بزرگ، ابزارهای خط فرمان یا کدگذارهای جریانی قوی‌تر هستند.

Pro Tips

Best Practice

برای دارایی‌های بسیار کوچک (< 10 کیلوبایت)، درون‌خطی کردن به عنوان داده‌های URI پایه64 می‌تواند درخواست‌های HTTP را کاهش دهد، اما از انجام این کار برای تصاویر یا فونت‌های بزرگ خودداری کنید.

Best Practice

در محیط تولید فقط محموله‌های Base64 کوتاه شده (یا هش‌ها) را لاگ کنید تا از افشای محتوای حساس در لاگ‌ها جلوگیری شود.

Best Practice

اگر بک‌اند شما Base64 انتظار دارد، ورودی را در سمت سرور اعتبارسنجی و نرمال کنید تا محموله‌های نادرست یا غیرمنطقی بزرگ رد شوند.

Additional Resources

Other Tools