/// <summary>
/// 获取字符串MD5值
/// </summary>
/// <param name="sText"></param>
/// <param name="encoding">编码方式 utf8</param>
/// <param name="uppercase">true 大写;false 小写</param>
/// <returns></returns>
public static string Encrypt(string sText, Encoding encoding, bool uppercase = false)
{
byte[] buffer = encoding.GetBytes(sText);
string s = Encrypt(buffer);
if (!uppercase)
s = s.ToLower();
return s;
}
/// <summary>
/// 获取字符串MD5值
/// </summary>
/// <param name="buffer"></param>
/// <returns></returns>
public static string Encrypt(byte[] buffer)
{
//使用MD5这个抽象类的Creat()方法创建一个虚拟的MD5类的对象。
using (MD5 md5 = MD5.Create())
{
//使用MD5实例的ComputerHash()方法处理字节数组。
byte[] bufferNew = md5.ComputeHash(buffer);
string s = BitConverter.ToString(bufferNew, 0, bufferNew.Length);
return s.Replace("-", "");
}
}
/// <summary>
/// 获取流MD5值
/// </summary>
/// <param name="inputStream"></param>
/// <returns></returns>
public static string Encrypt(Stream inputStream)
{
using (MD5 mi = MD5.Create())
{
//开始加密
byte[] bufferNew = mi.ComputeHash(inputStream);
string s = BitConverter.ToString(bufferNew, 0, bufferNew.Length);
return s.Replace("-", "");
}
}
//测试用例
//EncryptMD5.Encrypt(s, Encoding.UTF8)