MD5加密和验证
using System;
using System.Collections.Generic;
using System.Linq;
using System.Security.Cryptography;
using System.Text;
using System.Threading.Tasks;
namespace CadreApp.Common
{
public class MD5Helper
{
/// <summary>
/// MD5加密
/// </summary>
/// <param name="input">需要加密字符串</param>
/// <returns></returns>
public static string GetMd5Hash(string input)
{
using (MD5 md5Hash = MD5.Create())
{
byte[] data = md5Hash.ComputeHash(Encoding.UTF8.GetBytes(input));
StringBuilder sBuilder = new StringBuilder();
for (int i = 0; i < data.Length; i++)
{
sBuilder.Append(data[i].ToString("x2"));
}
return sBuilder.ToString();
}
}
/// <summary>
/// MD5验证
/// </summary>
/// <param name="input">需要验证字符串</param>
/// <param name="hash">已加密字符串</param>
/// <returns></returns>
public static bool VerifyMd5Hash(string input, string hash)
{
var hashOfInput = GetMd5Hash(input);
StringComparer comparer = StringComparer.OrdinalIgnoreCase;
if (0 == comparer.Compare(hashOfInput, hash))
{
return true;
}
else
{
return false;
}
}
}
}