کدگذاری Base64

با ابزار Base64 Encoding می توانید متنی را که وارد می کنید با روش Base64 رمزگذاری کنید. در صورت تمایل می توانید کد Base64 رمزگذاری شده را با ابزار Base64 Decode رمزگشایی کنید.

Base64 Encoding چیست؟

Base64 Encoding یک طرح رمزگذاری است که اجازه می‌دهد داده‌های باینری در محیط‌هایی که فقط از برخی رمزگذاری‌های محدود کاراکتر استفاده می‌کنند (محیط‌هایی که نمی‌توان از همه کدهای کاراکترها استفاده کرد، مانند xml، html، اسکریپت، برنامه‌های پیام‌رسانی فوری) منتقل شود. تعداد کاراکترهای این طرح 64 است و عدد 64 در کلمه Base64 از اینجا آمده است.

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

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

یکی از روش‌های رمزگذاری این گونه داده‌های باینری به گونه‌ای که از چنین مشکلات انتقالی جلوگیری کند، ارسال آنها به عنوان متن ASCII ساده در قالب کدگذاری شده Base64 است. این یکی از تکنیک هایی است که توسط استاندارد MIME برای ارسال داده های غیر از متن ساده استفاده می شود. بسیاری از زبان های برنامه نویسی مانند PHP و Javascript شامل توابع رمزگذاری و رمزگشایی Base64 برای تفسیر داده های ارسال شده با استفاده از رمزگذاری Base64 هستند.

منطق رمزگذاری Base64

در کدگذاری Base64، 3 * 8 بیت = 24 بیت داده متشکل از 3 بایت به 4 گروه 6 بیتی تقسیم می شود. کاراکترهای مربوط به مقادیر اعشاری بین [0-64] از این 4 گروه 6 بیتی از جدول Base64 برای رمزگذاری مطابقت داده می شوند. تعداد کاراکترهای به دست آمده در نتیجه کدگذاری Base64 باید مضربی از 4 باشد. داده های رمزگذاری شده که مضرب 4 نیستند، داده های Base64 معتبر نیستند. هنگام کدگذاری با الگوریتم Base64، زمانی که رمزگذاری کامل شد، اگر طول داده مضرب 4 نباشد، کاراکتر "=" (برابر) به انتهای کدگذاری اضافه می شود تا زمانی که مضرب 4 شود. به عنوان مثال، اگر در نتیجه کدگذاری، داده‌های کدگذاری شده 10 کاراکتری Base64 داشته باشیم، باید دو "==" به انتهای آن اضافه شود.

مثال کدگذاری Base64

به عنوان مثال، سه عدد اسکی 155، 162 و 233 را در نظر بگیرید. این سه عدد یک جریان باینری از 100110111010001011101001 را تشکیل می دهند. یک فایل باینری مانند یک تصویر حاوی یک جریان باینری است که برای ده ها یا صدها هزار صفر و یک کار می کند. رمزگذار Base64 با تقسیم جریان باینری به گروه های شش کاراکتری شروع می شود: 100110 111010 001011 101001. هر یک از این گروه بندی ها به اعداد 38، 58، 11 و 41 ترجمه می شوند. یک جریان باینری شش کاراکتری بین باینری (یا پایه) تبدیل می شود. 2) کاراکترهای اعشاری (پایه-10) با مجذور کردن هر مقدار نشان داده شده با 1 در آرایه باینری توسط مربع موقعیت. با شروع از سمت راست و حرکت به سمت چپ و شروع از صفر، مقادیر موجود در جریان باینری نشان دهنده 2^0، سپس 2^1، سپس 2^2، سپس 2^3، سپس 2^4، سپس 2^ هستند. 5.

در اینجا راه دیگری برای نگاه کردن به آن وجود دارد. با شروع از سمت چپ، هر موقعیت 1، 2، 4، 8، 16 و 32 ارزش دارد. اگر اسلات دارای یک عدد باینری 1 باشد، آن مقدار را اضافه می کنید. اگر شکاف 0 داشته باشد، شما گم شده اید. آرایه باینری 100110 به 38 تبدیل می شود: 0 * 2 ^ 01 + 1 * 2 ^ 1 + 1 * 2 ^ 2 + 0 * 2 ^ 3 + 0 * 2 ^ 4 + 1 * 2 ^ 5 = 0 + 2 اعشاری + 4 + 0 + 0 + 32. رمزگذاری Base64 این رشته باینری را می گیرد و آن را به مقادیر 6 بیتی 38، 58، 11 و 41 تقسیم می کند. در نهایت این اعداد با استفاده از جدول رمزگذاری Base64 به کاراکترهای ASCII تبدیل می شوند.