asp.net mvc使用SCrypt比较密码

时间:2019-05-16 05:50:12

标签: asp.net model-view-controller scrypt

我正在使用SCrypt

使用nuget管理器安装了它。

然后

位于每个动作之前的顶部:

ScryptEncoder encoder = new ScryptEncoder();

注册操作:

tblUser userItems = new tblUser();
string hashedPassword = encoder.Encode("mainObject.Password");
useritems.emailadd = mainObject.emailadd;
userItems.password = hashedPassword;

db.tblUsers.Add(userItems);
db.SaveChanges();

它确实有效,数据库中保存的密码已散列。

登录操作:

var x = th.tblUsers.Where(a => a.emailadd.Equals(ms.Email)).First();
bool areEquals = encoder.Compare("ms.Password", x.password.ToString());
var dataItem = th.tblUsers.Where(a => a.emailadd.Equals(ms.Email) && areEquals == true).First();

在我调试时,第二行bool返回false。 无法弄清楚,我怎么做错了。

0 个答案:

没有答案