تعرف علي الفرق بين Encoding , Encryption , Hashing , Obfuscation
عادة ما يتم الخلط بين هذه المصطلحات البرمجية Encoding الترميز , Encryption التشفير , Hashing المزج , Obfuscation التشويش لنلق نظرة على كل منها ونتعرف عليها وما الغرض منها وامثلة عليها والفرق بينها ،
الترميز Encoding:
هو تحويل البيانات من صورة إلى أخرى بغرض التأكد من قابلية إستخدامها عند نقلها من بيئة عمل لأخرى. مثل إرسال ملف ثنائي عبر البريد أو عرض أحرف خاصة على صفحات الويب.الغرض من الترميز ليس الحفاظ على سرية البيانات بل فقط تحويلها من صورة لأخرى عبر خوارزميات معروفة للعامة، ويمكن إعادة فك الترميز فقط بمعرفة الخوارزمية التي تم إستخدامها ولا يوجد مفتاح سري لفك الترميز.
أمثلة خوارزميات الترميز: ASCII, UNICODE, URL Encoding , Base64
التشفير Encryption:
هو عملية تحويل البيانات إلى صورة غير مفهومة بغرض تحقيق سرية البيانات الأصلية بحيث لا يتمكن من فك تشفير البيانات وإعادتها لصورتها الأصلية سوى من يملك مفتاح لفك التشفير.أمثلة خوارزميات التشفير: AES, RSA, BlowFish
المزج Hashing:
هو عملية تحويل البيانات لنص قصير موحد وثابت الطول بحيث تعطي الخوارزمية المستخدمة نفس الناتج فقط للبيانات المتطابقة تماماً ولا يمكن عكس العملية لإستخراج البيانات الأصلية من الهاش وبحيث يسبب أي تعديل طفيف في البيانات تغيير نتيجة الهاش.الهدف منه هو التحقق من سلامة البيانات ويستخدم أيضاً على التوازي في عمليات المصادقة في التشفير الغير متماثل.
أمثلة: SHA-3, MD5 (خوارزمية MD5 لم تعد صالحة للإستخدام لإكتشاف عدة نقاط ضعف بها )
التشويش Obfuscation:
هو عملية تحويل البيانات من صورة إلى أخرى مماثلة لها ولكن أكثر صعوبة في القراءة والفهم عادة ما تستخدم في الأكواد المصدرية التي لابد من إتاحتها بشكل عام لطبيعة عملها حيث لابد من الإلتزام بقواعد اللغة ولا يمكن تحويل النص إلى شفره، بدلاً من ذلك يتم الإلتزام بتلك القواعد ولكن مع كتابة الدوال والأوامر بطرق غير مباشرة يصعب على الأشخاص قرائتها وتظل قابلة للتنفيذ على الحواسيب.أمثلة: ProGuard, JS Obfuscator
ليست هناك تعليقات:
يمكنك إضافة الملاحظات او الإستفسار عن محتوي المشاركة او اضافة معلومة جديدة لم يتم التطرق اليها ، يمنع اضافة اية روابط علي سبيل الدعاية