asp.net mvc Сравнение пароля с использованием SCrypt - PullRequest
0 голосов
/ 16 мая 2019

Я использую 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. не могу понять, как я делаю это неправильно.

...