Generate a PasswordHash and SecurityStamp



我有一个Registrations表,新用户被放入其中。稍后的进程为该用户创建一个数据库,并插入一个ASP。注册表中数据中的用户记录(email &名字).

我想扩展这一点,以便在注册时,用户可以输入他们的密码,然后在新数据库中设置密码。

要正确地做到这一点,我需要创建一个SecurityStamp值,然后使用该值加密密码以获得PasswordHash,我相信。然后我将这些值存储在注册表中,然后我可以将它们复制到用户的新数据库中,当它设置好后,他们就可以使用他们注册的密码登录。

我该如何做到这一点—生成SecurityStamp然后散列密码?

SecurityStamp可以是任何随机的,不可重复的- Guid.NewGuid().ToString()可以很好地完成这项工作。

对于密码哈希UserManagerPasswordHasher属性为您进行密码哈希:

var userManager = new UserManager(context);
var passwordHash = userManager.PasswordHasher.HashPassword("mySecurePassword");

使用此命名空间

使用Microsoft.AspNetCore.Identity;

使用

生成哈希
var pass = new PasswordHasher<object>().HashPassword(null, "your password");

测试你的密码哈希

var passCheck = new PasswordHasher<object>().VerifyHashedPassword(null, hashedpassword, "your test password");
return ((int)passCheck) == 1 ? "correct password" : "invalid password";

相关内容

  • 没有找到相关文章

最新更新