使用MD5CryptoServiceProvider類算法
1 public static string Md5(string str) 2 { 3 var buffer = Encoding.UTF8.GetBytes(str); 4 5 MD5 md5 = new MD5CryptoServiceProvider(); 6 byte[] bytes = md5.ComputeHash(buffer); 7 8 var sb = new StringBuilder(); 9 foreach (var t in bytes) 10 { 11 sb.Append(t.ToString("X2")); 12 } 13 return sb.ToString().ToLower(); 14 }
SHA1,也是在System.Security.Cryptography程序集下提供的算法ide
1 /// <summary> 2 /// Sha1加密 3 /// </summary> 4 /// <param name="str">要加密的字符串</param> 5 /// <returns>加密後的十六進制的哈希散列(40個字符)</returns> 6 public static string Sha1(string str) 7 { 8 var buffer = Encoding.UTF8.GetBytes(str); 9 10 var sha1 = SHA1.Create(); 11 var bytes = sha1.ComputeHash(buffer); 12 13 var stringBuilder = new StringBuilder(); 14 foreach (var byt in bytes) 15 { 16 stringBuilder.Append(byt.ToString("X2")); 17 } 18 19 return stringBuilder.ToString().ToLower(); 20 }
案例ui
以上,bytes轉string,也可使用 BitConverter.ToString(bytes)加密
可是須要額外替換其中的特殊字符「-」,spa
var encryptionStr = BitConverter.ToString(bytes).Replace("-", "").ToLower();