我怎样才能得到ASP的哈希算法的盐.. NET成员使用

本文关键字:算法 哈希 成员 NET ASP | 更新日期: 2023-09-27 17:50:32

我发现默认哈希是SHA1,但他们也加盐,你可以看看下面:

public string EncodePassword(string pass, string salt)
{
    byte[] bytes = Encoding.Unicode.GetBytes(pass);
    byte[] src = Encoding.Unicode.GetBytes(salt);
    byte[] dst = new byte[src.Length + bytes.Length];
    Buffer.BlockCopy(src, 0, dst, 0, src.Length);
    Buffer.BlockCopy(bytes, 0, dst, src.Length, bytes.Length);
    HashAlgorithm algorithm = HashAlgorithm.Create("SHA1");
    byte[] inArray = algorithm.ComputeHash(dst);
    return Convert.ToBase64String(inArray);
}

我需要盐…所以我猜它从某个地方获取盐,一些文件,如web配置或计算盐。我不知道

我如何得到ASP.NET membership使用的哈希算法的salt ?

我怎样才能得到ASP的哈希算法的盐.. NET成员使用

可以从aspnet_Membership表中读取每个密码对应的盐值。

来自会员提供程序文档(https://msdn.microsoft.com/en-us/library/aa478949.aspx):

)

salt是一个随机的128位值,由。net框架的RNGCryptoServiceProvider类生成。每个密码/密码答案对都用这个唯一的值加盐,盐存储在aspnet_Membership表的PasswordSalt字段中。密码和盐的散列结果存储在password字段中。