나는 MyPasswordHaser를 사용하지 않는 AccountController/로그인에 IdentityConfig어떻게 커스텀 IPasswordHasher를 사용합니까?
에manager.PasswordHasher = new MyPasswordHasher();
하지만 var user = await UserManager.FindAsync(model.Email, model.Password);
쓰기 IPasswordHasher
public class MyPasswordHasher : IPasswordHasher
{
public string HashPassword(string password)
{
using (SHA256 mySHA256 = SHA256Managed.Create())
{
byte[] hash = mySHA256.ComputeHash(Encoding.UTF8.GetBytes(password.ToString()));
StringBuilder hashSB = new StringBuilder();
for (int i = 0; i < hash.Length; i++)
{
hashSB.Append(hash[i].ToString("x2"));
}
return hashSB.ToString();
}
}
public PasswordVerificationResult VerifyHashedPassword(
string hashedPassword, string providedPassword)
{
if (hashedPassword == HashPassword(providedPassword))
return PasswordVerificationResult.Success;
else
return PasswordVerificationResult.Failed;
}
}
을 구현합니다.
ID 2.1에서 어떻게 사용할 수 있습니까?
내 프로젝트 https://yadi.sk/d/NUL56SMccCtqd
해결책을 찾았습니까? – cheeesus
다른 ID 3에서이 작업을 수행했습니다. Startup.cs에 다음을 추가합니다. 'services.AddScoped, MyPasswordHasher >();' –
truemedia