gpt4 book ai didi

c# - ASP.NET:多个服务器上的 SHA1 + Salt 密码散列

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

因此,我采用了 David Hayden 在他的博客 (http://davidhayden.com/blog/dave/archive/2004/02/16/157.aspx) 上发布的方法来创建一个 salt 并对用户密码进行哈希处理获取用户的原始密码和生成的盐,并使用 SHA1 对值进行哈希处理。

然后我将盐和散列密码存储在数据库中。

该网站目前是负载平衡的,所以我想知道两台服务器的哈希值是否相同。

这是 David Hayden 博客上发布的代码片段:

private static string CreateSalt(int size)
{
//Generate a cryptographic random number.
RNGCryptoServiceProvider rng = new RNGCryptoServiceProvider();
byte[] buff = new byte[size];
rng.GetBytes(buff);

// Return a Base64 string representation of the random number.
return Convert.ToBase64String(buff);
}

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

return hashedPwd;
}

我问的原因是这段代码使用了代码片段:

FormsAuthentication.HashPasswordForStoringInConfigFile(
saltAndPwd, "sha1");

最佳答案

我认为您在这里提出的关键问题是 SHA1 算法是否与运行的服务器相同。在这种情况下,答案是肯定的。

大概您将生成的盐存储在所有服务器都可以访问的地方,连同密码散列?因此,用于生成盐的方法不需要在服务器之间保持一致。

关于c# - ASP.NET:多个服务器上的 SHA1 + Salt 密码散列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4937173/

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