فایل‌ها و صفحه‌ها

مبدل فایل Base64

اجرای محلی

خود ابزار به زبان انگلیسی است؛ این صفحه آن را به زبان شما توضیح می‌دهد.

از مبدل فایل Base64 استفاده کنید

کارکرد

یک فایل را رها کنید یا انتخاب کنید تا آن را به عنوان URI داده Base64 دریافت کنید، یا یک URI داده را چسبانده و آن را دوباره به یک فایل قابل دانلود رمزگشایی کنید.

این کاملاً در مرورگر شما اجرا می‌شود: هیچ‌یک از اطلاعاتی که وارد می‌کنید بارگذاری نمی‌شود.

چگونه از مبدل فایل Base64 استفاده کنیم

  1. یک فایل را انتخاب یا رها کنید. روی کادر خط‌دار کلیک کنید تا یک فایل را انتخاب کنید، یا یک فایل را روی آن بکشید. اگر چند فایل را رها کنید، تنها فایل اول تبدیل می‌شود.
  2. URI داده را بخوانید. کادر زیر با داده:type;base64 پر می‌شود و سپس فایل رمزگذاری‌شده نمایش داده می‌شود. خط زیر آن اندازهٔ اصلی، اندازهٔ Base64 و سربار را نشان می‌دهد.
  3. نتیجه را کپی کنید. روی «کپی» کلیک کنید تا کل URI داده را در کلیپ‌بورد خود قرار دهید، برای مثال برای اینکه آن را در یک صفحهٔ آزمایشی یا یک یادداشت پرونده جای‌گذاری کنید.
  4. یک URI داده را برای رمزگشایی جای‌گذاری کنید.. برای انجام عملیات معکوس، یک URI داده را در کادر پایین بچسبانید، مانند data:image/png;base64,... پارامترهایی مانند ;charset=utf-8، شکست‌های خط، Base64 ایمن برای URL و URIهای داده رمزگذاری‌شده با درصد پذیرفته می‌شوند.
  5. فایل را دانلود و بررسی کنید.. روی دکمهٔ رمزگشایی و دانلود کلیک کنید تا فایل را ذخیره کنید. اگر فایل از ایمیل یا صفحه‌ای مشکوک آمده است، قبل از باز کردن آن را با File Type Sniffer و File Hash بررسی کنید.

مثال

یک تصویر کوچک

ورودی
A small PNG file, dropped onto the box or chosen by clicking it
خروجی چگونه به نظر می‌رسد
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==

Original: 70 bytes | Base64: 96 bytes (37% overhead) | Data URI: 118 bytes

جعبهٔ زیر با داده‌ها پر می‌شود: image/png;base64,... و یک خط اندازهٔ اصلی، اندازهٔ Base64 با سربار و طول کل URI داده را نشان می‌دهد: Base64 حدود یک‌سوم بزرگ‌تر از فایل است.

آنچه بررسی می‌کند

سیگنالمعنای آن
نوع MIME پس از داده:این نوع، همان چیزی است که مرورگر شما برای فایل گزارش می‌کند و معمولاً از پسوند نام فایل گرفته می‌شود. این نوع ثابت نمی‌کند که فایل واقعاً چه محتویاتی دارد، بنابراین فایلی که نامش تغییر کرده باشد، همچنان نوع گمراه‌کننده‌ای خواهد داشت.
اندازهٔ اصلیاندازهٔ فایل در کیلوبایت با یک اعشار. فایل‌هایی که اندازه‌شان کمتر از حدود ۵۰ بایت است، ۰.۰ کیلوبایت نمایش داده می‌شوند که ناشی از گرد کردن است و نه فایل خالی.
اندازه و سربار Base64طول بخش Base64، بدون پیشوند data:type;base64 و اینکه چقدر از فایل بزرگ‌تر است. فایل‌های بزرگ در حدود ۳۳ درصد قرار می‌گیرند؛ فایل‌های کوچک به‌خاطر پدینگ مقدار بیشتری نشان می‌دهند.
نام فایل رمزگشایی‌شدهدانلود با نام decoded نام‌گذاری می‌شود. به‌علاوه یک پسوند برگرفته از نوع MIME، مانند decoded.png، decoded.txt برای text/plain یا decoded.bin وقتی نوع مشخص نشده باشد. یک خط زیر دکمه نام فایل، اندازه و نوع آن را نشان می‌دهد.
پیام زیر دکمهیک URI داده که قابل خواندن نیست، یا Base64 با کاراکترهایی خارج از A–Z، a–z، 0–9، + و /، به‌جای دانلود پیامی زیر دکمه نمایش می‌دهد.
داده‌هایی که محلی می‌مانندرمزگذاری با استفاده از FileReader مرورگر انجام می‌شود و رمزگشایی فایل را در حافظه می‌سازد، بنابراین فایل و متن چسبانده‌شده توسط این ابزار به هیچ‌کجا ارسال نمی‌شوند.

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

متن آزمایشی RFC 4648

ورودی
A text file foobar.txt that contains only the six letters foobar, with no line break
نتیجه

data:text/plain;base64,Zm9vYmFy و خط Original: 0.0 KB | Base64: 0.0 KB (33٪ سربار). Zm9vYmFy بردار تست منتشرشده RFC 4648 برای foobar است.

یک متن کوتاه را رمزگشایی کنید

ورودی
data:text/plain;base64,Zm9vYg==
نتیجه

Decode & Download یک فایل ۴ بایتی به نام decoded.txt ذخیره می‌کند که حاوی متن foob است، و خط زیر دکمه نام فایل، اندازه آن و نوع text/plain را مشخص می‌کند.

تصویر SVG با پسوند غیرمعمول

ورودی
data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLz4=
نتیجه

مرورگر یک تصویر SVG خالی ۴۱ بایتی به نام decoded.svg+xml ذخیره می‌کند. اگر می‌خواهید آن را ببینید، نام آن را به .svg تغییر دهید.

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

چه چیزی تولید می‌کند؟

یک URI داده به شکل data:type;base64,data که از نوع MIME گزارش‌شده توسط مرورگر شما برای فایل استفاده می‌کند (application/octet-stream اگر هیچ‌کدام گزارش نشود). Base64 حجم داده را تقریباً یک‌سوم بزرگ‌تر می‌کند و این یک رمزگذاری قابل معکوس توسط هر کسی است، نه رمزنگاری.

داده‌ URIهای کدام‌یک از «Decode» و «Download» قابل خواندن هستند؟

داده‌های Base64 URI مانند data:image/png;base64,... یا data:text/plain;charset=utf-8;base64,...، همچنین با خط‌شکن‌ها یا کاراکترهای امن URL، و آن‌هایی که با درصد رمزگذاری شده‌اند بدون ;base64; هر چیز دیگری یک پیام زیر دکمه دریافت می‌کند. فایل‌هایی که از پیوست‌های فیشینگ رمزگشایی شده‌اند ممکن است مضر باشند، بنابراین قبل از باز کردن آن‌ها را با File Type Sniffer بررسی کنید.

آیا فایل آپلود شده است؟

خیر. فایل با استفاده از API FileReader خوانده می‌شود و URI داده در این صفحه ساخته می‌شود؛ هیچ چیزی آپلود نمی‌شود. فایل‌هایی تا ۵۰ مگابایت تبدیل می‌شوند، زیرا URI داده بزرگ‌تر می‌تواند زبانه را مسدود کند.

چرا یک ایمیل یا صفحه فیشینگ حاوی یک رشته طولانی data:... است؟

پیوست‌های HTML و صفحات فیشینگ اغلب لوگوها، فونت‌ها، اسکریپت‌ها یا کل فایل‌ها را به‌عنوان URI داده‌های Base64 جاسازی می‌کنند. سپس محتوا به‌جای بارگذاری از یک آدرس جداگانه، درون صفحه منتقل می‌شود. با دکو کردن این رشته می‌توانید بدون باز کردن صفحهٔ اصلی ببینید چه چیزی در آن پنهان شده است.

آیا می‌توانم Base64 خالص را که پیش‌وند data: ندارد، رمزگشایی کنم؟

بله، اگر یکی اضافه کنید. عبارت data:application/octet-stream;base64 را قبل از رشته قرار دهید و دکمهٔ «Decode & Download» را فشار دهید؛ فایلی با نام decoded.bin دریافت می‌کنید. برای متن‌های کوتاه، رمزگذار/رمزگشای Base64 سریع‌تر است.

چرا درصد سربار برای فایل‌های کوچک بیش از ۳۳ درصد است؟

Base64 هر ۳ بایت را به ۴ کاراکتر تبدیل می‌کند و گروه آخر را با علامت‌های = پد می‌کند. در فایلی با چند بایت، این پد بخش زیادی را تشکیل می‌دهد، بنابراین یک فایل یک‌بایتی ۳۰۰ درصد را نشان می‌دهد. از چند کیلوبایت به بالا، این مقدار نزدیک به ۳۳ درصد باقی می‌ماند.

آیا باز کردن یک فایل SVG یا HTML که از یک پیام مشکوک رمزگشایی شده است، امن است؟

در مرورگر معمولی خود نه. فایل‌های SVG و HTML می‌توانند حاوی اسکریپت‌ها و لینک‌هایی باشند که هنگام باز شدن اجرا می‌شوند. ابتدا به نوع فایل و هَش آن توجه کنید و چنین فایل‌هایی را تنها در یک محیط sandbox یا دستگاه تحلیل جداگانه باز کنید.

توضیح اصطلاحات

تحقیقات فیش‌دِستروی