gpt4 book ai didi

c# - Asp.net Core PasswordHasher 问题

转载 作者:太空宇宙 更新时间:2023-11-03 18:03:52 24 4
gpt4 key购买 nike

我需要在数据库中存储用户名和密码。密码显然应该加密。我们确实有一些其他网站用来加密密码的旧代码,但我不确定这是否安全。

我正在研究使用 Asp.net Core PasswordHasher 类。

我是这样使用它的:

    PasswordHasher<string> pw = new PasswordHasher<string>();

string s1 = pw.HashPassword("Bob", "Apple");
string s2 = pw.HashPassword("Bob", "Apple");

var v1 = pw.VerifyHashedPassword("Bob", s1, "Apple");
var v2 = pw.VerifyHashedPassword("Bob", s2, "Apple");

v1 和 v2 都成功了,但由于某些原因 s1 和 s2 不相等(也许是随机盐?)。

PasswordHasher 是否以任何方式绑定(bind)到机器?应用程序将在网络场中运行,因此它应该独立于机器并在场中的所有机器上进行验证。

这是存储密码的加密安全方式吗?

最佳答案

  • 每个散列都有一个加密安全盐。
  • 盐被添加到散列中。
  • 它没有以任何方式链接到机器。

在引擎盖下它使用 PBKDF2、SHA256 和 10,000 次迭代,除非您使用 V2 兼容性(除非必须,否则不要使用 V2 兼容性)

您可以使用 raw function如果您不想引入身份,它会调用,但您应该坚持相同的算法和迭代次数。

关于c# - Asp.net Core PasswordHasher<T> 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40349652/

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