【问题标题】:PasswordHasher<TUser> does nothing with TUser, why is that generic parameter there?PasswordHasher<TUser> 对 TUser 什么都不做,为什么那里有那个通用参数?
【发布时间】:2020-11-20 20:39:52
【问题描述】:

这里是密码哈希的来源。 https://github.com/dotnet/AspNetCore/blob/master/src/Identity/Extensions.Core/src/PasswordHasher.cs

您可以清楚地看到,泛型类型 TUser 仅在 2 个公共方法中使用,而在这些方法中,参数本身从未使用过。

为什么要这样泛化这个类?

【问题讨论】:

  • IPasswordHasher&lt;TUser&gt; 是为别的东西实现的吗?它可能与旧版本兼容吗?

标签: asp.net-core .net-core asp.net-identity


【解决方案1】:

有趣的问题。出于可扩展性的目的,它似乎很可能存在。来自this article的好评:

这对于您自己实现的情况很有用 IPasswordHasher。例如,您可能需要验证 密码,如果你给用户加盐,你需要给用户加盐 自定义哈希中的密码。如果未向您提供用户 如果 只给你用户电子邮件或 ID,所以可以散列传入 用于比较的销售密码。

【讨论】:

    猜你喜欢
    • 2017-01-25
    • 1970-01-01
    • 1970-01-01
    • 2015-02-04
    • 1970-01-01
    • 1970-01-01
    • 2020-11-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多