المواقع المحترمة – ليست شرط أن تكون كبيرة – تحترم خصوصية مستخدميها ، ومن أكثر مظاهر احترام خصوصة المستخدم هي تشفير كلمة مروره وتشفير البيانات الخاصة الحساسة. وسأحاول أن استعرض هذا الأمر والمشكلة التي تواجه من يريد تشفير كلمة مروره في ASP.NET.
عندما تقوم بتشفير كلمة المرور في الموقع الذي تبرمجه ، تعطي للمستخدم نوع من الثقة من عدة نواحي منها أن مدير الموقع لن يقوم أبدأ بمعرفة كلمة مروره – والتي تكون غالبا موحدة في كل المواقع – ، أو أن المدير لن يستخدم عضويته ، أو حتى أن الموقع لو تم اختراقه ، فلن يعرف المخترق البيانات الحساسة بالمستخدم وخصوصا كلمة المرور.
عند تشفير كلمة المرور وتخزينها في قاعدة البيانات فإن المستخدم لا يمكنه عمل استرجاع كلمة المرور ، بل يمكنه طلب تغيير كلمة المرور إلى كلمة جديدة بدون معرفة الكلمة السابقة .
كيف تشفر كلمة المرور في ASP.NET Membership ؟
يمكن ذلك من خلال الويب كونفيج من خلال
في وسم membership في ملف web.config
في خاصية passwordFormat اجعل القيمة Encrypted
<membership defaultprovider="DefaultMembershipProvider">
<providers>
<add passwordformat="Encrypted"
الآن تكون قد شفرت كلمة المرور في قاعدة البيانات ، ولكن ما ينقص هو تحديد نوع التشفير ، ومفتاح التشفير ويمكن ذلك عبر إضافة الوسم التالي أيضا في الويب كونفيج ، مع العلم أنك إن لم تضف هذا الوسم لن تجري الأمور بشكل سليم
<system.web>
<machineKey
validationKey="1E972B83C592446B9CAEFCD34E951882660CE607F10C0226DFC02B8F86E6289BEED8436DE17155B1200B4121A7DE67EA721F4CF5407505A8EB79DF87BAFE9456"
decryptionKey="82E9E5F7366F8AAFBE5CC61545272EFD7ABBC49F2FC575A142B164F485775CE5"
validation="SHA1" decryption="AES" />
يمكنك توليد مفتاح تشفير خاص بك من خلال هذا الرابط