تمليك كلمة مرور - هل هناك خيارات أفضل من استخدام الطابع الزمني؟

StackOverflow https://stackoverflow.com/questions/3516420

سؤال

أقوم حاليًا ببناء اثنين من مواقع ASP.NET MVC 2 ، وأتساءل ما هي خياراتي لالتقاط كلمة مرور. من خلال عمل PHP الخاص بي ، عادةً ما حصلت على الطابع الزمني عندما قام مستخدم بتسجيله ، ثم قمت بإلحاقه بنهاية سلسلة كلمة المرور الخاصة بهم قبل استخدام Sha1 لتجزئة كل شيء. غريزتي هي أن هذا النهج قد لا يكون كافياً.

أنا جديد جدًا على إدارة المستخدمين مع ASP.NET على أي حال ، لذلك أعتقد أنه سيكون من مصلحتي أن أبدأ بأفضل الممارسات من البداية. أعلم أن نماذج الويب ASP.NET لديها إدارة مستخدم مدمجة ، لكنني غير متأكد من MVC.

هل كانت مفيدة؟

المحلول

النقطة الوحيدة للملح هي منع هجمات قوس قزح ، حيث يكون لدى العديد من المستخدمين نفس التجزئة لكلمة مرورهم ، لذلك فإن عكس كلمة مرور واحدة يعني أنك تعرف أيضًا أنها كلمة المرور لكل شخص آخر بنفس التجزئة. حتى الملح المكون من رقم واحد سيمنع ذلك ، نظرًا لأن اثنين من المستخدمين الذين لديهم نفس كلمة المرور سيكون لهما تجزئة مختلفة إذا كان لديهم أملاح مختلفة.

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

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top