[英]ASP.NET Core add secondary password to IdentityUser
我正在使用带有EF Core的ASP.NET Core 2.2。 我有一个User
类,看起来像这样:
public class User : IdentityUser
{
public string FirstName { get; set; }
public string LastName { get; set; }
}
我想添加一个PIN
属性,该属性将用作额外的安全操作的辅助密码。 用户登录系统,但是如果他想做更特别的事情(例如汇款),将提示他输入PIN。
我的问题是哈希字符串最简单的方法是什么,因此我不将PIN以纯文本格式存储在数据库中吗?
您可以使用IPasswordHasher界面 ,在用户注册时,可以创建将存储在数据库中的密码哈希(PIN属性),当需要验证时,可以对提供的密码/ PIN进行哈希并将其与存储的哈希进行比较。
例如,使用DI来涉及扩展:
public readonly IPasswordHasher<ApplicationUser> _passwordHasher;
public HomeController(IPasswordHasher<ApplicationUser> passwordHasher )
{
_passwordHasher = passwordHasher;
}
要创建哈希密码:
var hasedPassword = _passwordHasher.HashPassword(null,"Password");
核实 :
var successResult = _passwordHasher.VerifyHashedPassword(null, hasedPassword , "Password");
您还可以参考文档: ASP.NET Core中的哈希密码 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.