这个问题是前一个问题的修订版本(我删除了那个)
我的网站正在运行(C#) MVC 5
和ASP.Net Identity 2.0
。从站点内部,所有用户管理功能都可以正常工作,创建,更新,删除。
我们有一个SQL作业,在该网站的上一版本中批量创建了所有帐户,我现在需要更新此帐户以在Identity 2.0
中创建新帐户。我无法在任何可用的论坛中找到有关如何执行此操作的任何信息。
任何信息都将受到赞赏。
我已经完成了一些工作,我的最后一个问题是弄清楚Identity 2.0
如何对密码进行编码。我似乎无法找出使用的算法。
这就是Identity 1编码密码的方式:
SET @encoded_hashed_password = dbo.fbase64_encode(HASHBYTES('SHA1', Cast(@salt as varbinary(MAX)) + CAST(@ClearTextPassword AS varbinary(MAX))))
我正在寻找与Identity 2.0等效的内容。
答案 0 :(得分:1)
它使用您在System.Web.Helpers.Crypto中找到的相同算法来散列和验证密码。要散列密码,可以使用方法HashPassword。密码哈希是使用RFC 2898算法使用128位盐,256位子密钥和1000次迭代生成的。生成的哈希字节流的格式为{0x00,salt,subkey},在返回之前进行base-64编码。
我不清楚以前的网站是否使用了SimpleMembership。如果它在这里是一个article that provides detailed steps to migrate to ASP.NET Identity,你怎么可以使用相同的哈希密码。