71 lines
1.9 KiB
C#
71 lines
1.9 KiB
C#
using System;
|
|
using System.IO;
|
|
using System.Text;
|
|
using System.Security.Cryptography;
|
|
|
|
public class MD5Kit
|
|
{
|
|
public static string GetFileMD5(string file)
|
|
{
|
|
try
|
|
{
|
|
var fs = new FileStream(file, FileMode.Open);
|
|
MD5 md5 = new MD5CryptoServiceProvider();
|
|
var retVal = md5.ComputeHash(fs);
|
|
fs.Close();
|
|
|
|
var sb = new StringBuilder();
|
|
foreach (var str in retVal)
|
|
{
|
|
sb.Append(str.ToString("X2"));
|
|
}
|
|
|
|
return sb.ToString();
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw new Exception("GetFileMD5 fail error: " + ex.Message);
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 字符串MD5加密
|
|
/// </summary>
|
|
/// <param name="text">要加密的字符串</param>
|
|
/// <returns>密文</returns>
|
|
public static string MD5String1(string text)
|
|
{
|
|
var buffer = Encoding.Default.GetBytes(text);
|
|
var check = new MD5CryptoServiceProvider();
|
|
var somme = check.ComputeHash(buffer);
|
|
var result = new StringBuilder();
|
|
foreach (var a in somme)
|
|
{
|
|
// 将字节转换成16进制表示的字符串
|
|
var value = a.ToString("X");
|
|
if (a < 16)
|
|
{
|
|
result.Append(0);
|
|
result.Append(value);
|
|
}
|
|
else
|
|
{
|
|
result.Append(value);
|
|
}
|
|
}
|
|
|
|
return result.ToString().ToLower();
|
|
}
|
|
public static string GetStringMD5(string str)
|
|
{
|
|
if (string.IsNullOrEmpty(str))
|
|
{
|
|
return null;
|
|
}
|
|
MD5 md5 = new MD5CryptoServiceProvider();
|
|
byte[] bytResult = md5.ComputeHash(Encoding.UTF8.GetBytes(str));
|
|
string strResult = BitConverter.ToString(bytResult);
|
|
strResult = strResult.Replace("-", string.Empty);
|
|
return strResult;
|
|
}
|
|
} |