using System; using System.Security.Cryptography; using System.Text; namespace Elight.Utility.Encrypt {/// /// Md5 /// public class Md5 { /// /// 加密32 /// /// 数据 /// 密文 public static string Encrypt32(string source) { MD5 md5 = new MD5CryptoServiceProvider(); byte[] t = md5.ComputeHash(Encoding.UTF8.GetBytes(source)); StringBuilder sb = new StringBuilder(32); foreach (byte item in t) { sb.Append(item.ToString("x").PadLeft(2, '0')); } return sb.ToString(); } /// /// 加密16 /// /// 数据 /// 密文 public static string Encrypt16(string source) { MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider(); string t2 = BitConverter.ToString(md5.ComputeHash(Encoding.UTF8.GetBytes(source)), 4, 8); t2 = t2.Replace("-", ""); return t2; } /// /// MD5 加密字符串 /// /// 源字符串 /// 加密后字符串 public static string MD5Encoding(string rawPass) { // 创建MD5类的默认实例:MD5CryptoServiceProvider MD5 md5 = MD5.Create(); byte[] bs = Encoding.UTF8.GetBytes(rawPass); byte[] hs = md5.ComputeHash(bs); StringBuilder sb = new StringBuilder(); foreach (byte b in hs) { // 以十六进制格式格式化 sb.Append(b.ToString("x2")); } return sb.ToString(); } /// /// MD5盐值加密 /// /// 源字符串 /// 盐值 /// 加密后字符串 public static string MD5Encoding(string rawPass, object salt) { if (salt == null) return rawPass; return MD5Encoding(rawPass + "{" + salt.ToString() + "}"); } } }