能否请你告诉我一些简单的算法通过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); }
您可以使用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预计作为字节数组。
salt
password
如果您有字符串,则必须先将其转换为字节:
var salt = System.Text.Encoding.UTF8.GetBytes("my salt"); var password = System.Text.Encoding.UTF8.GetBytes("my password");