using System; using System.Collections.Generic; using System.Security.Cryptography; using System.Text; namespace Nirvana.Common { /// /// MD5加密 /// public class Md5 { /// /// MD5加密 /// /// 加密字符 /// 加密位数16/32 /// public static string md5(string str, int code) { string strEncrypt = string.Empty; if (code == 16) { MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider(); strEncrypt = System.BitConverter.ToString(md5.ComputeHash(System.Text.UTF8Encoding.Default.GetBytes(str)), 4, 8).Replace("-", ""); } if (code == 32) { MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider(); strEncrypt = System.BitConverter.ToString(md5.ComputeHash(System.Text.Encoding.Default.GetBytes(str))).Replace("-", ""); } return strEncrypt; } /// /// MD5加密 /// /// 需要加密的字符串 /// 字符的编码 /// public static string MD5Encrypt(string input, Encoding encode) { if (string.IsNullOrEmpty(input)) { return null; } MD5CryptoServiceProvider md5Hasher = new MD5CryptoServiceProvider(); byte[] data = md5Hasher.ComputeHash(encode.GetBytes(input)); StringBuilder sBuilder = new StringBuilder(); for (int i = 0; i < data.Length; i++) { sBuilder.Append(data[i].ToString("X2")); } return sBuilder.ToString(); } } }