Crypto.HashPassword和VerifyHashedPassword

时间:2011-08-10 00:51:50

标签: asp.net-mvc-3 cryptography helpers

正如标题所示,我正在使用MVC 3帮助程序Crypto来哈希我的密码,然后除了加密密码之外我什么也没有保存到数据库中。

当我实现登录表单时,我创建一个布尔函数,检索存储在数据库中的密码 并使用此帮助程序获取布尔结果:

Crypto.VerifyHashedPassword(password in DB, password in login form)
if true, then login
if false, the display "password wrong"

这几天,我试图测试我的登录功能。我发现了一个事实:如果新的注册商在系统注册,之前的用户将无法登录,显示“密码错误”。

我的程序有问题,还是我错过了什么?

Function to return bool
if (Crypto.VerifyHashedPassword(parent.Password, password))
                        {
                            return true;
                        }
                        else
                        {
                            ModelState.AddModelError("", "You was input password wrongly!");
                            return false;
                        }



Code to hash and store the password
parent.Password = Crypto.HashPassword(parent.Password);
                        peoplemanager.Add(parent);

1 个答案:

答案 0 :(得分:0)

我建议你遵循这个教程我发现在创建我的会员解决方案时非常有帮助:

http://theintegrity.co.uk/2010/12/asp-net-mvc-2-custom-membership-provider-tutorial-part-3/