مبدل رایگان

انکودر Base64 / رمزگشا

متن یا فایل ها را در Base64 رمزگذاری کنید و رشته های Base64 را فوراً در مرورگر خود رمزگشایی کنید. رایگان، خصوصی و بدون نیاز به آپلود.

درباره این ابزار

Base64 یک طرح رمزگذاری است که داده‌های باینری را به صورت متن ASCII با استفاده از 64 کاراکتر قابل چاپ نشان می‌دهد: A-Z، a-z، 0-9، به علاوه (+)، و اسلش (/)، با معادل (=) مورد استفاده برای padding. این قالب در ابتدا برای زنده ماندن پیوست‌های باینری در حمل‌ونقل ایمیل‌های ۷ بیتی طراحی شده بود، اما امروزه به ده‌ها کاربرد گسترش یافته است: آدرس‌های اینترنتی داده در HTML، JSON حاوی داده‌های تصویر، بارهای JWT، سرصفحه‌های احراز هویت اولیه و هر پروتکل مبتنی بر متن که نیاز به حمل بایت دارد.

رمزگذاری 3 بایت ورودی می گیرد و 4 کاراکتر ASCII خروجی تولید می کند. بنابراین خروجی 33 درصد بیشتر از ورودی است - که هزینه برازش باینری در قالب متن ایمن است. رمزگشایی فرآیند را دقیقاً معکوس می کند و بایت های اصلی را از متن رمزگذاری شده بازیابی می کند.

این ابزار هر دو جهت را کنترل می کند. حالت رمزگذاری ورودی متن (یا یک فایل باینری از طریق آپلود) را می گیرد و متن base64 را تولید می کند. حالت رمزگشایی متن base64 را می گیرد و متن اصلی یا باینری قابل دانلود را تولید می کند. نوع امن URL (با استفاده از - و _ به جای + و /) برای نشانه ها و شناسه ها پشتیبانی می شود.

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

Base64 روش استاندارد برای جاسازی داده های باینری در زمینه های متنی است. تصاویر درون خطی در HTML از URLهای داده استفاده می کنند (data:image/png;base64،...) بنابراین یک نماد کوچک می تواند بدون درخواست جداگانه همراه با صفحه ارسال شود. محموله‌های JSON که تصاویر، گواهی‌ها یا امضاها را حمل می‌کنند، آنها را به‌عنوان رشته‌های base64 رمزگذاری می‌کنند. توکن های JWT سه بخش کدگذاری شده با پایه 64 هستند که با نقطه از هم جدا شده اند.

Base64 همچنین مدیریت کاراکترها را برای پروتکل‌هایی که باینری 8 بیتی را اشتباه مدیریت می‌کنند، عادی می‌کند. هدرهای احراز هویت (اصالت اساسی از base64 استفاده می کند)، پیوست های ایمیل، فایل های پیکربندی حاوی کلیدها و بسیاری از API ها به base64 نیاز دارند زیرا باینری نمی تواند به طور قابل اعتماد از خطوط لوله آنها عبور کند.

نحوه استفاده

داده‌ها را جای‌گذاری کنید، جهت را انتخاب کنید.

  1. رمزگذاری یا رمزگشایی را انتخاب کنید: Encode متن base64 را از ورودی باینری یا متنی تولید می کند. رمزگشایی فرآیند را معکوس می کند.
  2. افزودن ورودی: برای رمزگذاری، متن را جایگذاری کنید یا یک فایل باینری آپلود کنید. برای رمزگشایی، متن base64 را بچسبانید. این ابزار به طور خودکار نوع ایمن URL را شناسایی می کند.
  3. تبدیل کنید: این مرورگر از btoa برای رمزگذاری و از atob برای رمزگشایی استفاده می کند (با استفاده از UTF-8 برای متن غیر ASCII). خروجی دقیق و قطعی است.
  4. کپی یا دانلود کنید: متن کدگذاری شده را می توان در URL ها، JSON، URL های داده HTML یا هر پروتکل مبتنی بر متن جاسازی کرد. دانلودهای باینری را به عنوان یک فایل با حدس در پسوند مناسب بر اساس نوع فایل شناسایی شده رمزگشایی می کند.

موارد استفاده رایج

جزئیات فنی

Base64 هر 6 بیت ورودی را به یکی از 64 کاراکتر خروجی نگاشت می کند. سه بایت ورودی (24 بیت) چهار کاراکتر خروجی تولید می کند. وقتی طول ورودی مضرب 3 نباشد، رمزگذار یک یا دو علامت مساوی را اضافه می کند تا خروجی را به مضرب 4 کاراکتر اضافه کند.

URL-safe base64 (تعریف شده در RFC 4648 بخش 5) + را با - و / با _ جایگزین می‌کند تا رشته‌هایی را برای استفاده در URLها و نام فایل‌ها بدون فرار بیشتر تولید کند. علائم مساوی padding گاهی اوقات در زمینه های ایمن URL حذف می شوند. رمزگشاها معمولا هر دو شکل را می پذیرند.

btoa و atob جاوا اسکریپت مستقیماً ASCII را مدیریت می کنند اما در رشته های غیر ASCII با شکست مواجه می شوند. برای متن UTF-8، مبدل از TextEncoder/TextDecoder برای تبدیل بین متن و باینری استفاده می کند، سپس base64 باینری را رمزگذاری می کند. این اموجی ها، کاراکترهای تاکیدی و اسکریپت های غیر لاتین را به درستی مدیریت می کند.

بهترین شیوه ها

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

کدگذاری Base64 برای چه مواردی استفاده می شود؟
Base64 داده های باینری را به متن ASCII تبدیل می کند. کاربردهای رایج عبارتند از جاسازی تصاویر در HTML (URIهای داده)، رمزگذاری پیوست های ایمیل، انتقال داده های باینری در API های JSON، و ذخیره حباب های باینری در پایگاه های داده مبتنی بر متن.
آیا رمزگذاری Base64 داده های من را رمزگذاری می کند؟
شماره Base64 یک رمزگذاری است، نه رمزگذاری. هر کسی می تواند یک رشته Base64 را رمزگشایی کند. این برای حمل و نقل ایمن داده طراحی شده است، نه امنیت. از رمزگذاری واقعی (AES، RSA) برای داده های حساس استفاده کنید.
چرا Base64 حجم فایل را افزایش می دهد؟
Base64 هر 3 بایت ورودی را به صورت 4 کاراکتر ASCII نشان می دهد که منجر به افزایش اندازه تقریباً 33٪ می شود. این جایگزینی برای امکان جاسازی ایمن داده های باینری در قالب های متنی است.
آیا می توانم تصاویر را در Base64 رمزگذاری کنم؟
بله. یک فایل تصویری را آپلود کنید و ابزار یک رشته Base64 تولید می کند که می توانید از آن به عنوان URI داده (data:image/png;base64،...) در HTML یا CSS استفاده کنید.
آیا توکن های JWT base64 هستند؟
بله - JWT از سه بخش کدگذاری شده با پایه 64url تشکیل شده است که با نقطه از هم جدا شده اند. اولی هدر، دومی محموله، سومی امضا است.
آیا داده های من روی سرور آپلود می شود؟
نه. رمزگذاری و رمزگشایی در مرورگر شما با استفاده از btoa، atob، TextEncoder و TextDecoder انجام می شود.
حداکثر اندازه چقدر است؟
تا 50 مگابایت حافظه مرورگر اندازه عملی را برای ورودی های بسیار بزرگ محدود می کند.
چرا خروجی رمزگشایی شده من مانند زباله به نظر می رسد؟
به احتمال زیاد منبع باینری بوده است نه متن. برای دریافت باینری به حالت دانلود فایل بروید، یا بررسی کنید که ورودی واقعاً متن کدگذاری شده با پایه 64 باشد تا باینری.