FormsAuthentication.HashPasswordForStoringInConfigFile返回不同​​的字符串

时间:2014-05-14 02:33:36

标签: c# asp.net hash sha1

我正在进行登录页面,我使用SHA1来输入密码。我生成盐串。将密码添加到生成的salt字符串,然后哈希。

这是我在注册时存储值的方式。我只存储用户名,哈希密码和盐串

string saltString = retSaltString();//This returns a salt string
string password = txtPassword.Text;
string saltPassword = password + saltString;
string hashPassword = FormsAuthentication.HashPasswordForStoringInConfigFile(saltPassword, "SHA1");

当我对用户进行身份验证时,我会反过来做同样的事情:

string hashedPassword = //from database
string saltString = //from database
string saltPassword = txtPassword.Text + saltString;
string hashEnterPassword =   
FormsAuthentication.HashPasswordForStoringInConfigFile(saltPassword, "SHA1");

但这次hashEnterPassword不同,即使有效密码登录也失败。为什么散列会生成不同的字符串?我在4.5中开始了这个项目,因为它说它不再支持SHA1,我将它改为4.0。我哪里错了?提前谢谢。

0 个答案:

没有答案
相关问题