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