一 MD5
推荐使用:
md5
MD5 md5Hasher = MD5.Create();
byte[] data = md5Hasher.ComputeHash(Encoding.Default.GetBytes("myTest+123"));
StringBuilder sBuilder = new StringBuilder();
for (int i = 0; i < data.Length; i++)
{
sBuilder.Append(data[i].ToString("x2"));
}
Console.WriteLine(sBuilder);
md5+base64:
MD5 md5Hasher = MD5.Create();
string strMD5 = Convert.ToBase64String(md5Hasher.ComputeHash(Encoding.UTF8.GetBytes(str)));
不推荐:
System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(str, "MD5").ToUpper();
因为我有一次和java接口对接时,
发现不推荐的md5和人家出来的结果不一样
二 hmacSHA1
public static string HmacSha1Sign(string secret, string strOrgData)
{
var hmacsha1 = new HMACSHA1(Encoding.UTF8.GetBytes(secret));
var dataBuffer = Encoding.UTF8.GetBytes(strOrgData);
var hashBytes = hmacsha1.ComputeHash(dataBuffer);
return Convert.ToBase64String(hashBytes);
}