الأحد، 3 يوليو 2016


Hash function VS Encryption


كثيراً منا يتسائل هل (Hash algorithm) هي طريقة تستخدم في التشفير (Encryption) ؟ الإجــابة هي أن (Hash ) هي ليست للتشفير ، لماذا ؟ لأننا نعرف أن النص المشفر يحتاج إلى (Key) أو طريقة متفق عليها بين المرسل (sender) والمستقبل (Receiver) و أن (Hash ) لا يحتاج إلى (Key). إذ أن (Encryption) هو اخفاء للنص التي تم تشفيره بحيث يكون من الصعب على أي شخص أخر أن يقرءه (صعب القراءة) وهي تكون قابلة أن تسترجع النص الأصلي بالإستعانه إلى (Key) المتفق بين المرسل والمستقبل. هل (Hash ) نفس عمل (Encryption) ؟ بالطبع، يختلف لان (Hash ) لن تقدر على إستعادته إلى النص الأصلي وهي تقنية لحفظ البيانات.


مثال على طريقة التشفير :






دعنا نركز على المبدء التي تقوم به Hashing ؟ 

وذلك من خلال إدخال نص له طول معين (يعني يحتوي على عدد معين من الكلمات) فيخرج بطول مغاير وذلك بحسب النوع المستخدم من Hashing إذا لل Hashing أنواع منها MD5, SHA-1,SHA-2 ولها انواع اخرى, وكيف تختلف عن بعضها وذلك بطول البت (length bits)

MD5=128 bits 
SHA-1=160 bits 
SHA-2=240 bits 

هل المدخل هو نص فقط بالعكس ممكن يكون صوره أو فيديو أو باسورد ... الخ 
كيف نقوم بحساب Hashing وما هي الفائده منه ؟


- يجب أن تعرف أن أي تغغيير على النص سوف يعطيك قيمة مغاييره عن قيمة hash


مثال للتوضيح : عندما ادخلنا Hello students أعطتنا قيمة Hash


وعند حذف أخر حرف من students حصلنا على ناتج جديد في قيمة hash
















ملاحظة : هذا بإختصار ما يتعلق في hash VS encryption ويوجد فروقات كثيرة 







المهندس : عياد محمد خميس ناصر

ماجستير علم حاسوب