using System; using System.Security.Cryptography; using System.Text; namespace Common { public class SecurityHelper { //开发员 public static string Me = "VollYoung.com"; /// /// 给一个字符串进行MD5加密 /// /// 待加密字符串 /// 加密后的字符串 public static string Md5Encrypt(string strText) { using (MD5 md5Hash = MD5.Create()) { string hash = GetMd5Hash(md5Hash, strText); return hash; } } static string GetMd5Hash(MD5 md5Hash, string input) { // Convert the input string to a byte array and compute the hash. byte[] data = md5Hash.ComputeHash(Encoding.UTF8.GetBytes(input)); // Create a new Stringbuilder to collect the bytes // and create a string. StringBuilder sBuilder = new StringBuilder(); // Loop through each byte of the hashed data // and format each one as a hexadecimal string. for (int i = 0; i < data.Length; i++) { sBuilder.Append(data[i].ToString("x2")); } // Return the hexadecimal string. return sBuilder.ToString(); } // Verify a hash against a string. static bool VerifyMd5Hash(MD5 md5Hash, string input, string hash) { // Hash the input. string hashOfInput = GetMd5Hash(md5Hash, input); // Create a StringComparer an compare the hashes. StringComparer comparer = StringComparer.OrdinalIgnoreCase; if (0 == comparer.Compare(hashOfInput, hash)) { return true; } else { return false; } } } }