gpt4 book ai didi

c# - PasswordHasher 方法的用户参数有什么用?

转载 作者:太空宇宙 更新时间:2023-11-03 20:59:38 28 4
gpt4 key购买 nike

在身份的非核心版本中,PasswordHasher是非通用类型。它的HashPassword方法采用单个参数(要散列的密码)及其 VerifyHashedPassword方法只需要两个(之前由 HashPassword 生成的密码哈希,以及提供的用于验证的密码。这很棒,因为这意味着我可以使用 PasswordHasher 而无需全力以赴并使用整个身份框架。

Microsoft.AspNetCore.Identity ,另一方面, PasswordHasher<TUser> 现在是一个通用类,HashPasswordVerifyHashedPassword方法采用 user参数除了以前存在的参数。这对我来说没有多大意义。为什么散列密码或验证散列需要用户对象?它有什么用?

最佳答案

没有。我们可以在源代码中看到 https://github.com/dotnet/aspnetcore/blob/master/src/Identity/Extensions.Core/src/PasswordHasher.cs类型参数 TUser 都不是也没有任何 user类方法的参数曾经被使用过。

我猜想在 IPasswordHasher<TUser> 上设置这些参数的想法接口(interface)是允许依赖于用户的特定于应用程序的子类。例如,我可以想象这样一种情况,在合并两个具有不同用户群的应用程序之后,一个应用程序最终不得不处理其密码使用不同算法进行散列处理的用户。存储类似 PasswordFormat 的内容用户模型上的字段将允许自定义 IPasswordHasher<TUser>根据用户选择要使用的哈希算法。

关于c# - PasswordHasher 方法的用户参数有什么用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46793216/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com