能否请您告诉我一些通过 MD5 散列用户密码的简单算法,但使用salt 以提高可靠性。
现在我有了这个:
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);
}
最佳答案
您可以使用 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);
salt
和password
都应该是字节数组。
如果您有字符串,则必须先将它们转换为字节:
var salt = System.Text.Encoding.UTF8.GetBytes("my salt");
var password = System.Text.Encoding.UTF8.GetBytes("my password");
关于c# - 带盐的 MD5 散列用于在 C# 中将密码保存在数据库中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1300890/