一尘不染

带有盐的MD5哈希用于在C#中将密码保留在DB中

c#

能否请你告诉我一些简单的算法通过MD5哈希的用户密码,但 提高可靠性。

现在我有了这个:

private static string GenerateHash(string value)
{
    var data = System.Text.Encoding.ASCII.GetBytes(value);
    data = System.Security.Cryptography.MD5.Create().ComputeHash(data);
    return Convert.ToBase64String(data);
}

阅读 285

收藏
2020-05-19

共1个答案

一尘不染

您可以使用HMACMD5类:

var hmacMD5 = new HMACMD5(salt);
var saltedHash = hmacMD5.ComputeHash(password);

还可与SHA-1,SHA256,SHA384,SHA512和RIPEMD160一起使用:

var hmacSHA1 = new HMACSHA1(salt);
var saltedHash = hmacSHA1.ComputeHash(password);

双方saltpassword预计作为字节数组。

如果您有字符串,则必须先将其转换为字节:

var salt = System.Text.Encoding.UTF8.GetBytes("my salt");
var password = System.Text.Encoding.UTF8.GetBytes("my password");
2020-05-19