我有一个使用.net core的Web API项目,我使用IdentityCore进行用户密码注册和登录。但是,我需要将该API迁移到Java。如何在不丢失所有用户数据的情况下做到这一点,有什么方法可以复制IdentityCore使用的算法?
答案 0 :(得分:1)
使用.net core标识时,您的数据保存在数据库中:https://docs.microsoft.com/en-us/aspnet/core/security/authentication/customize-identity-model?view=aspnetcore-3.1
因此,如果您已经在api中正确设置了IdentityCore授权,则配置中的某处应该有一个连接字符串,如下所示:
{
"ConnectionStrings": {
"DefaultConnection": "Server=(localdb)\\MSSQLLocalDB;Database= IdentityDB;Trusted_Connection=True;MultipleActiveResultSets=true"
}
}
您可以按照它的操作,提取表和数据,然后进行设置。
可在此处找到源代码:https://github.com/aspnet/Identity
哈希算法:https://andrewlock.net/exploring-the-asp-net-core-identity-passwordhasher/
ASP.NET身份版本2:具有HMAC-SHA1、128位盐,256位子项,1000次迭代的PBKDF2
ASP.NET Core Identity版本3:具有HMAC-SHA256、128位盐,256位子项,10000次迭代的PBKDF2