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