ترميز Base64

باستخدام أداة ترميز Base64 ، يمكنك تشفير النص الذي تدخله باستخدام طريقة Base64. إذا كنت ترغب في ذلك ، يمكنك فك تشفير رمز Base64 المشفر باستخدام أداة فك تشفير Base64.

ما هو ترميز Base64؟

ترميز Base64 هو نظام ترميز يسمح بنقل البيانات الثنائية في البيئات التي تستخدم فقط بعض ترميزات الأحرف المقيدة (البيئات التي لا يمكن فيها استخدام جميع رموز الأحرف ، مثل xml ، و html ، والبرنامج النصي ، وتطبيقات المراسلة الفورية). عدد الأحرف في هذا المخطط هو 64 ، ويأتي الرقم 64 في كلمة Base64 من هنا.

لماذا استخدم ترميز Base64؟

تنبع الحاجة إلى ترميز Base64 من المشكلات التي تنشأ عند نقل الوسائط بتنسيق ثنائي خام إلى أنظمة قائمة على النصوص. نظرًا لأن الأنظمة المستندة إلى النصوص (مثل البريد الإلكتروني) تفسر البيانات الثنائية على أنها مجموعة واسعة من الأحرف ، بما في ذلك أحرف الأوامر الخاصة ، فإن معظم البيانات الثنائية المرسلة إلى وسيط النقل يتم تفسيرها بشكل خاطئ بواسطة هذه الأنظمة ويتم فقدها أو تلفها أثناء الإرسال معالجة.

تتمثل إحدى طرق ترميز مثل هذه البيانات الثنائية بطريقة تتجنب مشاكل الإرسال هذه في إرسالها كنص ASCII عادي بتنسيق Base64 المشفر. هذه إحدى التقنيات المستخدمة بواسطة معيار MIME لإرسال بيانات غير النص العادي. تتضمن العديد من لغات البرمجة ، مثل PHP و Javascript ، وظائف تشفير وفك تشفير Base64 لتفسير البيانات المنقولة باستخدام تشفير Base64.

منطق ترميز Base64

في ترميز Base64 ، 3 * 8 بت = 24 بت من البيانات تتكون من 3 بايت مقسمة إلى 4 مجموعات من 6 بتات. تتم مطابقة الأحرف المقابلة للقيم العشرية بين [0-64] من هذه المجموعات المكونة من 6 بتات من جدول Base64 للتشفير. يجب أن يكون عدد الأحرف التي تم الحصول عليها نتيجة ترميز Base64 من مضاعفات 4. البيانات المشفرة التي ليست من مضاعفات 4 ليست بيانات Base64 صالحة. عند الترميز باستخدام خوارزمية Base64 ، عند اكتمال الترميز ، إذا لم يكن طول البيانات مضاعفًا لـ 4 ، تتم إضافة الحرف "=" (يساوي) إلى نهاية الترميز حتى يصبح مضاعفًا لـ 4. على سبيل المثال ، إذا كان لدينا بيانات Base64 المشفرة من 10 أحرف كنتيجة للترميز ، فيجب إضافة "==" إلى النهاية.

مثال تشفير Base64

على سبيل المثال ، خذ أرقام ASCII الثلاثة 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. أخيرًا ، يتم تحويل هذه الأرقام إلى أحرف ASCII باستخدام جدول تشفير Base64.