生成PasswordHash和SecurityStamp

时间:2016-09-23 12:41:01

标签: asp.net asp.net-identity

我有一个Registrations表,新用户可以使用它。稍后的过程为该用户创建数据库,并从注册表(电子邮件和名称)中的数据中插入ASP.NET身份用户记录。

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

为了正确执行此操作,我需要创建一个SecurityStamp值,然后使用它来加密密码以获取PasswordHash,我相信。那么我会将这些值存储在注册表中,然后我可以将它们复制到用户的新数据库中,并且可以使用他们注册的密码登录。

我该怎么做 - 生成SecurityStamp然后哈希密码?

1 个答案:

答案 0 :(得分:3)

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

对于密码哈希UserManager具有为您执行密码哈希的属性PasswordHasher

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