Я создаю пользовательское хранилище для входа на свой сайт MVC5 с использованием OWIN и ASP.NET Identity.
У меня в пользовательском хранилище есть поле для пароля base-64 и соли base-64,Чтобы зашифровать пароль, я добавляю соль к простому текстовому паролю.
Я создал этот хэш пароля:
public class PasswordHasher : IPasswordHasher
{
public string HashPassword(string password)
{
using (SHA1 sha1 = SHA1.Create())
{
byte[] inputBytes = System.Text.Encoding.ASCII.GetBytes(password);
byte[] hashBytes = sha1.ComputeHash(inputBytes);
// Convert the byte array to hexadecimal string
StringBuilder sb = new StringBuilder();
for (int i = 0; i < hashBytes.Length; i++)
{
sb.Append(hashBytes[i].ToString("X2"));
}
return sb.ToString();
}
}
public PasswordVerificationResult VerifyHashedPassword(string hashedPassword, string providedPassword)
{
if (hashedPassword == HashPassword(providedPassword))
return PasswordVerificationResult.Success;
else
return PasswordVerificationResult.Failed;
}
}
Проблема заключается в том, что у меня нетIdentityUser для объединения поля соли.
Я не хочу добавлять ссылку на Microsoft.AspNetCore.Identity.Я знаю, что в библиотеке есть хеш-пароль, который получает объект User, чтобы я мог делать то, что хочу.Но в этом случае у меня нет объекта пользователя.Есть ли способ получить его?
Спасибо, Хайме