C# MD5,hmacSHA1

一 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"));
            }
            //可替换
            //string result = string.Join("", data.Select(x => x.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);
        }

 

posted @ 2018-04-24 18:21  正怒月神  阅读(1882)  评论(0编辑  收藏  举报