12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- using System;
- using System.Security.Cryptography;
- using System.Text;
- namespace Common
- {
- public class SecurityHelper
- {
- //开发员
- public static string Me = "VollYoung.com";
- /// <summary>
- /// 给一个字符串进行MD5加密
- /// </summary>
- /// <param name="strText">待加密字符串</param>
- /// <returns>加密后的字符串</returns>
- 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;
- }
- }
- }
- }
|