using System;
using System.IO;
using System.Text;
using System.Security.Cryptography;
class Util
{
/// <summary>
/// 计算字符串MD5值
/// </summary>
/// <param name="source"></param>
/// <returns></returns>
public static string md5(string source)
{
MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider();
byte[] data = System.Text.Encoding.UTF8.GetBytes(source);
byte[] md5Data = md5.ComputeHash(data, 0, data.Length);
md5.Clear();
string destString = "";
for (int i = 0; i < md5Data.Length; i++)
{
destString += System.Convert.ToString(md5Data[i], 16).PadLeft(2, '0');
}
destString = destString.PadLeft(32, '0');
return destString;
}
/// <summary>
/// 计算文件MD5值
/// </summary>
/// <param name="source"></param>
/// <returns></returns>
public static string md5File(string file)
{
try
{
FileStream fs = new FileStream(file,FileMode.Open);
MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider();
byte[] retVal = md5.ComputeHash(fs);
fs.Close();
StringBuilder sb = new StringBuilder();
for (int i = 0; i < retVal.Length; i++)
{
sb.Append(retVal[i].ToString("x2"));
}
return sb.ToString();
}catch(Exception ex)
{
throw new Exception("md5file() fail, error: " + ex.Message);
}
}
}
通用工具--MD5值计算
猜你喜欢
转载自blog.csdn.net/kill566666/article/details/78438487
今日推荐
周排行