gpt4 book ai didi

c# - ASP.NET Hashed PW's + Salt 混淆

转载 作者:行者123 更新时间:2023-11-30 22:47:30 25 4
gpt4 key购买 nike

我正在关注位于此处的 MSDN 文章:http://msdn.microsoft.com/en-us/library/aa302398.aspx

我的困惑在于函数:

private static string CreatePasswordHash(string pwd, string salt)
{
string saltAndPwd = String.Concat(pwd, salt);
string hashedPwd =
FormsAuthentication.HashPasswordForStoringInConfigFile(
saltAndPwd, "SHA1");
hashedPwd = String.Concat(hashedPwd, salt);
return hashedPwd;
}

我的理解是:1. concat salt和明文pwd2. 使用 sha1 创建散列通行证3. 将盐与原来有盐的散列密码再次连接???

第 3 步背后的原因是什么?我发现了一个与 MSDN one else 相同的函数,它省略了最后一个 concat。

我只是不明白为什么 MSDN 版本中有最后一个 concat 操作。

最佳答案

它用散列密码存储盐,这样您就可以简单地从配置文件(或存储它的任何地方)中提取整个内容,从末尾取出盐,用它散列传入的密码,然后比较结果到配置中的散列密码。如果您不在配置中存储盐和散列密码,则必须将其存储在其他地方并从那里提取它以在执行测试时散列传入密码。由于 SHA1 是固定的 160 位(20 字节),因此只需跳过配置中散列密码的前 20 个字符即可轻松获取盐分。

关于c# - ASP.NET Hashed PW's + Salt 混淆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2194731/

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