Tarayıcınız güncel değil

Bu siteyi görüntülemek için tarayıcınızın veya cihazınızın işletim sisteminin güncellenmesi gerekiyor.

Your browser is out of date. Please update iOS or your browser to view this site.

پرش به محتوای اصلی
Gizke.com
وبلاگ

رمزگذار Base64 و URL

روی دستگاه شما اجرا می‌شود. چیزی ارسال نمی‌شود.

متن

نتیجه

نتیجه اینجا نمایش داده می‌شود

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

Base64 هر داده باینری دلخواه را با استفاده از ۶۴ کاراکتر قابل چاپ به متن ساده ASCII تبدیل می‌کند، به همین دلیل در هر جایی که داده باینری باید از یک کانال فقط-متنی عبور کند دیده می‌شود - جاسازی یک تصویر مستقیماً در CSS یا HTML، پیوست یک فایل به ایمیل، یا رمزگذاری یک توکن درون یک JWT. رمزگذاری URL (رمزگذاری درصدی) طرحی متفاوت و بی‌ارتباط است که کاراکترهایی را که یک URL نمی‌تواند به‌صورت تحت‌اللفظی در بر بگیرد، مانند فاصله‌ها و علامت‌های «و»، خنثی می‌کند تا هنگام قرار گرفتن در یک رشته کوئری سالم بمانند. این ابزار متن یا فایل‌ها را برای هر دو طرح در هر دو جهت تبدیل می‌کند، کاملاً در مرورگر شما - هیچ‌چیزی به‌جایی آپلود نمی‌شود.

پرسش‌های متداول

آیا Base64 رمزنگاری است؟
خیر. Base64 یک رمزگذاری است، نه رمزنگاری - هر کسی از جمله همین ابزار می‌تواند آن را بلافاصله بدون هیچ کلید یا رمز عبوری رمزگشایی کند. این فقط بازنمایی داده را تغییر می‌دهد تا بتواند با امنیت از سیستم‌هایی عبور کند که متن انتظار دارند، نه باینری. هرگز از آن برای پنهان کردن چیزی حساس استفاده نکنید.
چرا متن رمزگذاری‌شده با Base64 با علامت‌های = پایان می‌یابد؟
Base64 در بلوک‌های ۳ بایتی کار می‌کند که هر کدام به ۴ کاراکتر خروجی تبدیل می‌شوند. وقتی ورودی مضربی از ۳ بایت نباشد، کاراکترهای = آخرین بلوک را تا ۴ کاراکتر کامل پر می‌کنند. نسخه امن برای URL معمولاً این padding را حذف می‌کند، زیرا رمزگشاها معمولاً می‌توانند آن را از طول رشته استنباط کنند.
تفاوت بین الفبای استاندارد و الفبای امن برای URL چیست؟
Base64 استاندارد از + و / به‌عنوان دو تا از ۶۴ کاراکتر خود استفاده می‌کند، اما هر دوی این‌ها در یک URL معنای خاصی دارند (به‌ترتیب فاصله و جداکننده مسیر)، بنابراین یک رشته Base64 استاندارد ممکن است هنگام قرار گرفتن مستقیم در یک URL یا نام فایل خراب شود. نسخه امن برای URL این دو کاراکتر را با - و _ جایگزین می‌کند، به همین دلیل این قالبی است که در JWT و توکن‌های مشابه استفاده می‌شود.
چرا رمزگشایی گاهی داده باینری به‌جای متن نشان می‌دهد؟
Base64 می‌تواند هر بایتی را به‌طور تحت‌اللفظی رمزگذاری کند، نه فقط متن - یک تصویر، یک فایل فونت، یک فایل اجرایی. وقتی بایت‌های رمزگشایی‌شده متن UTF-8 معتبری تشکیل ندهند، این ابزار نمی‌تواند آن‌ها را به‌صورت رشته‌ای خوانا نمایش دهد، اما همچنان می‌توانید آن‌ها را به‌صورت فایل دانلود کنید تا محتوای باینری اصلی را بازیابی کنید.
چرا خروجی رمزگذاری‌شده با Base64 حدود یک‌سوم بزرگ‌تر از داده اصلی می‌شود؟
Base64 هر ۳ بایت ورودی را به ۴ کاراکتر خروجی تبدیل می‌کند، بنابراین چه یک قطعه متن را رمزگذاری کنید و چه یک فایل کامل را، نتیجه رمزگذاری‌شده همیشه حدود ۴/۳ برابر (حدود ۳۳٪) بزرگ‌تر از منبع است. این افزایش حجم، هزینه‌ی نمایش داده‌های باینری دلخواه تنها با ۶۴ کاراکتر قابل چاپ است - این طبیعی است و به این معنا نیست که مشکلی پیش آمده.
آیا باید پیش از رمزگشایی یک رشته Base64 امن برای URL، گزینه «الفبای امن برای URL» را فعال کنم؟
خیر - رمزگشایی همیشه کار می‌کند، چه رشته از الفبای استاندارد استفاده کند و چه از الفبای امن برای URL. در پشت صحنه، این ابزار به‌طور خودکار - و _ را دوباره به + و / تبدیل می‌کند و هر padding از دست‌رفته = را خودش بازمی‌سازد، بنابراین می‌توانید هر یک از این دو نسخه را مستقیماً در حالت رمزگشایی جای‌گذاری کنید. این چک‌باکس فقط هنگام رمزگذاری اهمیت دارد، چون تعیین می‌کند خروجی از کدام الفبا استفاده کند.
برای توسعه‌دهندگان: این صفحه را با یک پارامتر `q` در آدرس اینترنتی باز کنید - مثلاً gizke.com/base64?q=hello world - و آن مقدار به‌طور خودکار از پیش پر می‌شود. اکثر بازدیدکنندگان به این نیازی ندارند؛ این ویژگی برای پیوند مستقیم به یک نمونه‌ی آماده‌ی استفاده است.

این ابزار را به اشتراک بگذارید

وبلاگدرباره ماتماسشرایط استفادهسیاست حفظ حریم خصوصی