رمزگذاری/رمزگشایی Base64 (متن)
Input
Output
چرا از این رمزگشای Base64 استفاده کنیم
- پیشنمایش رمزگشایی بلادرنگ برای محمولههای متنی
- پشتیبانی از بلوکهای Base64 چندخطی، بخشهای سبک PEM و دادههای URI
- پشتیبانی از Base64 ایمن برای URL (انواع -/_) با نرمالسازی خودکار
- مناسب برای پیوستهای ایمیل و بلوکهای MIME (Content-Transfer-Encoding: base64)
- مدیریت محمولههای باینری — دانلود نتیجه رمزگشایی شده به عنوان فایل
- رابط کاربری مناسب برای موبایل برای بررسی سریع در حال حرکت
- رمزگشایی در مرورگر شما انجام میشود — محتوای Base64 به سرور راهدور ارسال نمیشود
🔧 نحوه عملکرد رمزگشایی Base64 (گام به گام) for base64-decoder
پیست یا رها کردن داده Base64
رشته Base64 خود را در ناحیه ورودی پیست کنید، یا یک فایل متنی حاوی داده Base64 را رها کنید. این ابزار همچنین میتواند محموله را از آدرسهای data:*;base64,... تشخیص و استخراج کند.
نرمالسازی و اعتبارسنجی
رمزگشا فضاهای خالی را حذف میکند، کاراکترهای ایمن برای URL (- و _) را مدیریت میکند، و بررسی میکند که رشته فقط از کاراکترهای معتبر Base64 به علاوه padding اختیاری = استفاده کند.
رمزگشایی بلوکهای Base64
هر 4 کاراکتر Base64 به 24 بیت نگاشت میشوند، که به 3 بایت 8 بیتی اصلی بازگروهبندی میشوند. Padding = به رمزگشا میگوید چند بایت در گروه نهایی وجود دارد.
پیشنمایش یا دانلود نتیجه
اگر خروجی رمزگشایی شده متن باشد، آن را مستقیماً در پنل خروجی میبینید. برای دادههای باینری (تصاویر، اسناد، آرشیوها و غیره)، میتوانید نتیجه رمزگشایی شده را به عنوان فایل دانلود کنید.
مشخصات فنی
مجموعه کاراکترها و انواع
رمزگشا از RFC 4648 برای Base64 استاندارد پیروی میکند و همچنین نوع ایمن برای URL را درک میکند.
| محدوده / نوع | کاراکترها | یادداشتها |
|---|---|---|
| شاخصهای 0–25 | A–Z | حروف بزرگ |
| شاخصهای 26–51 | a–z | حروف کوچک |
| شاخصهای ۵۲–۶۱ | ۰–۹ | ارقام |
| شاخصهای ۶۲–۶۳ | + / | نمادهای استاندارد Base64 |
| پرکننده | = | نشان میدهد که آخرین کوانتوم ناقص است |
| امن برای URL | - _ | گونه متداول امن برای وب (قبل از رمزگشایی به + / نگاشت مجدد میشود) |
رابطه اندازه (اصلی در مقابل Base64)
رمزگذاری Base64 اندازه را تقریباً یک سوم افزایش میدهد. هنگام رمزگشایی، داده به اندازه اصلی خود بازمیگردد.
| اندازه اصلی | اندازه Base64 (تقریبی) | سربار |
|---|---|---|
| ۳ بایت | ۴ کاراکتر | ~۳۳٪ بزرگتر |
| ۱ کیلوبایت | ≈ ۱.۳۷ کیلوبایت | ~۳۷٪ بزرگتر شامل پرکننده و خطوط جدید |
| ۱ مگابایت | ≈ ۱.۳۷ مگابایت | نسبت یکسان در مقیاسهای بزرگتر |
عملکرد و محدودیتهای عملی
رمزگشایی Base64 سبک است، اما حافظه مرورگر همچنان برای بارهای بسیار بزرگ مهم است.
| اندازه بار | تجربه کاربری | توصیه |
|---|---|---|
| چند کیلوبایت | فوری | عالی برای کپیهای سریع از DevTools یا لاگها |
| ۱۰۰ کیلوبایت – ۱ مگابایت | هنوز بسیار پاسخگو | معمول برای پاسخهای API یا پیوستهای کوچک |
| ۱–۵ مگابایت | معمولاً در ماشینهای مدرن خوب عمل میکند | برای دادههای باینری از دانلودها استفاده کنید |
| > ۵–۱۰ مگابایت | ممکن است در مرورگر کند یا حافظهبر احساس شود | CLI یا کتابخانههای زبان را ترجیح دهید |
رمزگشایی Base64 از خط فرمان
برای فایلهای بسیار بزرگ یا خطوط لوله خودکار، از ابزارهای بومی Base64 در محیط خود استفاده کنید.
لینوکس / 🍏 مکاواس
رمزگشایی یک رشته Base64
echo 'SGVsbG8=' | base64 --decodeرشته SGVsbG8= را به Hello رمزگشایی میکند.
رمزگشایی یک فایل Base64
base64 -d input.b64 > output.binیک فایل Base64 را به داده باینری خام تبدیل میکند.
ویندوز / PowerShell
رمزگشایی با PowerShell
[Text.Encoding]::UTF8.GetString([Convert]::FromBase64String("SGVsbG8="))یک رشته Base64 را به متن UTF-8 رمزگشایی میکند.
رمزگشایی با certutil (CMD)
certutil -decode input.b64 output.binاز ابزارهای داخلی ویندوز برای رمزگشایی فایل Base64 استفاده میکند.
کاربردهای عملی
توسعه وب و APIها
بازرسی و بازیابی دادهها از محمولههای Base64 در مرورگر.
- رمزگشایی تصاویر جاسازی شده به عنوان URI داده در HTML / CSS.
- بازرسی محمولههای رمزگذاری شده Base64 در پاسخهای REST یا GraphQL.
- رمزگشایی بلابهای Base64 ذخیره شده در LocalStorage یا IndexedDB.
const binary = atob(base64String);const json = JSON.parse(atob(encodedJson));ایمیل و پیوستهای MIME
کار با پیوستها و بخشهای MIME رمزگذاری شده با Base64.
- رمزگشایی پیوستهای ایمیل رمزگذاری شده با Base64 از فایلهای EML.
- بازرسی بخشهای MIME با Content-Transfer-Encoding: base64.
- اشکالزدایی کتابخانههای ایمیل که تصاویر درون خطی جاسازی میکنند.
Content-Transfer-Encoding: base64const buffer = Buffer.from(encodedContent, 'base64');امنیت و پزشکی قانونی
درک کنید که واقعاً چه چیزی پشت دادههای Base64 پنهان شده است.
- رمزگشایی دادههای Base64 مشکوک یافتشده در لاگها یا محمولهها.
- بررسی مقادیر پیکربندی مبهم یا قطعات اسکریپت.
- ترکیب با ابزارهای دیگر برای درک IoCهای رمزگذاریشده.
// مثال Node.js: رمزگشایی محموله مشکوک
const decoded = Buffer.from(encoded, 'base64').toString('utf8');
console.log(decoded);
❓ Frequently Asked Questions
❓چرا خروجی رمزگشاییشده من خراب به نظر میرسد؟
Base64 حاوی کاراکترهای نامعتبر است، (2) کاراکترهای padding = وجود ندارند یا قطع شدهاند، (3) داده اصلی باینری بود (تصویر، PDF، ZIP و غیره) اما شما سعی میکنید آن را به صورت متن ساده مشاهده کنید. در مورد آخر، نتیجه رمزگشاییشده را به عنوان فایل دانلود کنید به جای نمایش مستقیم آن.🔗چگونه با Base64 ایمن برای URL کار کنم؟
Base64 ایمن برای URL '+' را با '-' و '/' را با '_' جایگزین میکند و گاهی padding '=' را حذف میکند. این ابزار به طور خودکار این کاراکترها را در حین رمزگشایی نرمال میکند. اگر خودتان پیادهسازی میکنید، '-' → '+' و '_' → '/' را جایگزین کنید، سپس با '=' پد کنید تا طول به مضربی از 4 برسد.🔒آیا Base64 روش امنی برای پنهان کردن داده است؟
Base64 یک رمزگذاری است، نه رمزنگاری. این روش به صورت طراحی معکوسپذیر است و هیچ محرمانگی ارائه نمیدهد. اگر محموله رمزگشاییشده حاوی اطلاعات حساس باشد، مطمئن شوید که از رمزنگاری مناسب (مثلاً AES یا TLS در انتقال) در سیستم شما استفاده شده است.📏حداکثر اندازهای که میتوانم با امنیت در اینجا رمزگشایی کنم چقدر است؟
Base64 تا چند مگابایت در اکثر مرورگرهای مدرن راحت کار میکند. محمولههای بزرگتر ممکن است کار کنند اما میتوانند کند یا حافظهبر شوند. برای هر چیزی فراتر از 5-10 مگابایت، بهتر است از ابزارهای خط فرمان یا کتابخانههای سمت سرور استفاده کنید.Pro Tips
اگر رمزگشایی ناموفق بود، ابتدا هرگونه هدر (مانند بلوکهای '-----BEGIN' / 'END-----') را حذف کنید و فقط با کاراکترهای Base64 دوباره امتحان کنید.
وقتی انتظار JSON دارید، مرحله رمزگشایی را در try/catch با JSON.parse قرار دهید تا اگر محموله چیزی نیست که ادعا میشود، سریعاً شکست بخورد.
برای محمولههای باینری بزرگ (تصاویر، آرشیوها)، آنها را مستقیماً به فایل رمزگشایی کنید به جای تلاش برای نمایش آنها به عنوان متن.
Additional Resources
Other Tools
- زیباکننده CSS
- زیباکننده HTML
- زیباکننده JavaScript
- زیباکننده PHP
- انتخابگر رنگ
- استخراجکننده اسپرایت
- انکودر Base64
- فرمتدهنده C#
- فرمتدهنده CSV
- Dockerfile Formatter
- فرمتدهنده Elm
- فرمتدهنده ENV
- فرمتدهنده Go
- فرمتدهنده GraphQL
- فرمتدهنده HCL
- فرمتدهنده INI
- فرمتدهنده JSON
- فرمتدهنده LaTeX
- فرمتدهنده Markdown
- فرمتدهنده Objective-C
- Php Formatter
- فرمتدهنده Proto
- فرمتدهنده Python
- فرمتدهنده Ruby
- فرمتدهنده Rust
- فرمتدهنده Scala
- فرمتدهنده اسکریپت شل
- فرمتدهنده SQL
- قالببندی SVG
- قالببندی Swift
- قالببندی TOML
- Typescript Formatter
- قالببندی XML
- قالببندی YAML
- قالببندی Yarn
- کوچککننده CSS
- Html Minifier
- Javascript Minifier
- کوچککننده JSON
- کوچککننده XML
- نمایشگر هدرهای HTTP
- PDF به متن
- تستکننده Regex
- بررسیکننده رتبه SERP
- جستجوی Whois