كيفية تشفير / فك تشفير البيانات باستخدام Base64 ولماذا
Base64 هو نظام ثنائي شائع لنظام ترميز ASCII مصمم لنقل البيانات الثنائية بشكل موثوق عبر القنوات التي لديها دعم محدود لأنواع المحتوى المختلفة. تتناول هذه المقالة أساسيات ترميز Base64 ، وكيف تعمل وتفاصيل سطر أوامر وطرق رسومية مختلفة لتشفير بياناتك باستخدام Base64.
ما هو ترميز Base64
Base64 هي تقنية تشفير ، تقوم بتحويل البيانات الثنائية ، مثل الصور والفيديو ، إلى تنسيق ASCII (نظام ترميز لتمثيل البيانات النصية في أنظمة الكمبيوتر.). نظرًا لأن البيانات الثنائية تتكون من سلاسل من 0 و 1 ، يعمل ترميز Base64 عن طريق تحويل هذه الأحرف إلى مجموعة محددة من ASCII. يمكن فك تشفير النتيجة بسهولة عن طريق تعيين أحرف ASCII في القيمة الثنائية.
يمكنك العثور أدناه على قائمة بأحرف ASCII القياسية المستخدمة في ترميز Base64.
- عدد الأحرف: 0-9.
- الأحرف الأبجدية الكبيرة: AZ.
- الحروف الأبجدية الصغيرة: az.
- حرفان خاصان: “/.” و “+”.
لماذا يتم استخدام ترميز Base64
عند إجراء نقل ملف عبر الإنترنت ، يتم تقطيع البيانات الثنائية من الملف إلى أجزاء تسمى الحزم. ثم يتم إرسالها إلى جهاز الاستقبال باستخدام بروتوكولات مختلفة.
هنا حيث تنشأ المشكلة. إذا كان المستلم غير قادر على فك تشفير تنسيق الملف الثنائي من المرسل ، فقد يؤدي ذلك إلى فقد البيانات أو تلفها. لذلك ، من الممارسات الجيدة أن تقوم أولاً بتحويل الملف باستخدام ترميز Base64 قبل إرساله إلى المستخدم. سيقوم Base64 بترميز الأحرف بتنسيق ASCII ، والذي يمكن لغالبية الأجهزة قراءته. وبالنظر إلى الاعتماد الواسع لتشفير Base64 ، يمكنك استخدام ترميز Base64 بشكل أساسي على أي جهاز.
ما هو ترميز Base64 المستخدم
يستخدم Base64 على نطاق واسع لترميز النصوص والصور والموسيقى ومقاطع الفيديو وغيرها التي تريد نقلها عبر الويب. إحدى حالات الاستخدام المحددة لـ Base64 هي مرفقات البريد الإلكتروني. يتم تشفير الملفات المرفقة برسالة بريد إلكتروني باستخدام Base64 خلف الكواليس قبل إرسالها مع البريد الإلكتروني إلى وجهتها.
باستخدام Base64 ، يمكن إضافة الصور المشفرة مباشرةً إلى مستندات HTML أو في ملفات CSS. يمكن أن تساعد هذه التقنية في تقليل عدد الطلبات الواردة من العملاء وجعل موقع الويب الخاص بك أكثر أداءً. ستحتاج إلى التأكد من ضغط الصورة قبل الترميز. وإلا فسيؤدي ذلك إلى أحجام ملفات كبيرة جدًا وسيبطئ موقع الويب (بدلاً من ذلك ، يمكنك استخدام تنسيق ملف webp لضغط الصورة).
إذا كنت تقوم بنقل BLOB (ملف كائن كبير ثنائي) كبير عبر الإنترنت ، فمن الضروري في الواقع تشفير البيانات باستخدام Base64. وإلا إذا ضاعت بعض حزم الشبكة أثناء النقل ، فقد تتلف البيانات الموجودة داخل الملف ولن يصبح ملفك قابلاً للاستخدام.
هناك استخدام آخر شائع جدًا ولكنه مناسب جدًا لتشفير Base64 وهو تعيين صوت شحن iPhone مخصص. يمكن أن يكون صوت الشحن الجديد بترميز Base 64 إلى ASCII باستخدام تطبيق Shortcuts على أجهزة Apple المحمولة.
كيفية تشفير البيانات باستخدام Base64 في Javascript
لتشفير البيانات وفك تشفيرها باستخدام Base64 ، يمكنك الاستفادة من الوظيفتين المساعدتين atob()
و btoa()
في جافا سكريبت. يمثل اسم هذه الوظائف فائدتها. atob()
دالة تترجم إلى ASCII إلى ثنائي و btoa()
يعني ثنائي لـ ASCII.
- افتح Developer Console في المتصفح الذي تختاره. في معظم المتصفحات ، يمكن القيام بذلك باستخدام امتداد كنترول + تحول + أنا الاختصار.
- انقر فوق علامة التبويب “وحدة التحكم”. هنا يمكننا أن نبدأ في كتابة جافا سكريبت الخاص بنا.
- في هذا المثال سنقوم بتعريف متغير اسمه
word
الذي يحتوي على السلسلة “Hello”.
- استخدم ال
btoa()
وظيفة لتحويل هذه السلسلة إلى سلسلة Base64 ASCII.
let encodedString=btoa(word)
- مطبعة
encodedString
إلى وحدة التحكم لمعرفة كيف يبدو تمثيل Base64 لـ “Hello”.
console.log(encodedString) output: SGVsbG8=
كيفية تشفير البيانات باستخدام Base64 في Python
في Python ، يمكنك استخدام الحزمة القياسية المضمنة Base64 Python.
- قم باستيراد المكتبة داخل ملف Python الخاص بك باستخدام هذا الأمر:
- ثم استخدم ملف
base64.b64encode()
وظيفة لتشفير سلسلة إلى أحرف ASCII المشفرة Base64. نحن نستخدم كلمة “Hello” في هذا المثال.
encoded = base64.b64encode(b'Hello')
- الآن قم بطباعة النتيجة لترى كيف تبدو كلمة “Hello” بتنسيق Base64.
كيفية التشفير وفك التشفير باستخدام Base64 في Linux
تأتي كل توزيعات Linux مع أداة ترميز وفك تشفير Base64. إذا كنت تستخدم نظام Windows ، فيمكنك استخدام نظام Windows الفرعي لنظام Linux (WSL) لتشغيل أوامر المحطة الطرفية المذكورة أدناه.
مع سطر الأوامر
- لتحويل سلسلة إلى ترميز Base64 ، في البداية
echo
القيمة وإخراج الإخراج إلى أمر Base64.
- لفك تشفير سلسلة Base64 ، استخدم
--decode
أو ال-d
علم الأداة المساعدة Base64.
echo "TVRFCg==" | base64 --decode
- لتحويل صورة باستخدام تشفير Base64 ، قم بإلحاق مسار الصورة بعد ذلك
base64
يأمر.
- يمكنك أيضًا حفظ سلاسل ASCII المشفرة من Base64 في ملف باستخدام الأمر التالي.
base64 linux.jpg > test.txt
- في الأمر أعلاه ، نقوم بحفظ إخراج صورة “linux.jpg” في ملف “text.txt”. يمكنك الآن نقل هذه الملفات النصية إلى أي مكان تريده دون مشكلة.
- لفك تشفير الصورة من الملف ، استخدم الامتداد
-d
علامة بعد الأمر Base64.
base64 -d test.txt > test.jpg
استخدام محولات Base64 عبر الإنترنت
هناك العديد من محولات Base64 عبر الإنترنت ، ولكن محول Base64 من Rapidtable يبرز. توفر هذه الأداة عبر الإنترنت طريقة سهلة لتشفير وفك تشفير نصوص وصور Base64.
لتشفير سلسلة نصية ، قم ببساطة بلصق السلسلة في منطقة النص واضغط على زر التشفير. يمكن لهذه الأداة أيضًا دعم الملفات النصية كإدخال.
في قسم ترميز الأحرف ، لديك أيضًا خيارات إضافية مثل ASCII و UTF8 و UTF16 وما إلى ذلك.
تتضمن محولات Base64 الأخرى سهلة الاستخدام عبر الإنترنت ما يلي:
أسئلة مكررة
لماذا يكون للملفات المشفرة Base64 حجم ملف أكبر من الملفات الثنائية العادية؟
يستخدم ترميز Base64 نظام 6 بت ، بينما تستخدم الملفات الثنائية العادية نظام 8 بت. 8 بت يسمى بايت. نظرًا لأن ترميز Base64 يخرج أحرف ASCII التي تكون في 8 بت وبما أن Base64 يستخدم نظام 6 بت ، فإن 2 بت تظل غير مشغولة لكل بايت من البيانات. إذا قمت بالعملية الحسابية ، فإن ملف Base64 المشفر يكون أكبر بنسبة 33٪ من الملف الأصلي.
هل يُترجم ترميز Base64 إلى تشفير أيضًا؟
لا ، الترميز والتشفير شيئان مختلفان. يعني التشفير تحويل تنسيق إلى آخر ، بينما يعني التشفير إخفاء المعلومات بحيث لا يمكن لأي شخص الوصول إليها بدون كلمة مرور. عادةً ما تحتوي الملفات المشفرة على كلمة مرور لفك تشفير المعلومات ، بينما يمكن فك تشفير الملفات المشفرة بسهولة باستخدام الخوارزمية المناسبة.
كيفية التحقق مما إذا كانت السلسلة مشفرة Base64 أم لا؟
إذا كانت السلسلة عبارة عن مزيج مما يبدو أنه خليط من الأحرف ، فقد يكون بترميز Base64. للتأكد ، راجع الأحرف المستخدمة في السلسلة. إذا كانت الأحرف في نطاق AZ و az و0-9 و “+” و “/.” ، فهذه سلسلة Base64 مشفرة. لفك تشفير قيمتها ، استخدم أيًا من التقنيات المذكورة أعلاه.
رصيد الصورة: Markus Spiske عبر Unsplash جميع لقطات الشاشة بواسطة Hrishikesh Pathak
اشترك في نشرتنا الإخبارية!
تم تسليم أحدث دروسنا مباشرة إلى صندوق الوارد الخاص بك
اكتشاف المزيد من إشراق التقنية
اشترك للحصول على أحدث التدوينات المرسلة إلى بريدك الإلكتروني.