-1

我正在一个学校项目中工作,我们有一个 ASP.NET Core Web 应用程序,为我们的用户使用身份框架(他们可以注册和登录),我们还必须开发一个 java 应用程序,我们还必须使用注册和登录与 ASP.NET Core 应用程序(共同数据库)相同的用户数据。我们的问题是 Identity 对他们的密码进行哈希处理,并且为了能够从我们的 Java 应用程序登录或注册,我们必须像 Identity 一样比较哈希值或哈希值。我一直在扫描互联网,但还没有找到明确的答案。

现在我了解了 ASP.NET Core Indentity v3 的使用

带有 HMAC-SHA256 的 PBKDF2,128 位盐,256 位子密钥,10000 次迭代

散列他们的密码。

我的问题是:在我们的 java 应用程序中实现相同哈希方法的最佳方法是什么?是否有一个可行的 java 库可供我们用来模仿 Identity 散列密码的方式?还是有更好的方法来解决这个问题?

4

1 回答 1

0

您应该尝试覆盖 .net 核心应用程序的 DI 中的 IPasswordHasher<> 接口,并在 java 应用程序中使用相同的逻辑,作为参考,您可以查看: https ://andrewlock.net/migrating-passwords-在-asp-net-core-identity-with-a-custom-passwordhasher/

需要考虑的一件事是,更改散列的完成方式将使所有现有用户被锁定,除非您迁移它们,但由于这是一个学校项目,我认为这是一个可以接受的结果。

于 2021-04-06T15:10:17.560 回答