文件MD5计算器
来源:互联网 发布:java公钥加密私钥解密 编辑:程序博客网 时间:2024/05/20 05:54
using System.IO;
using System.Security.Cryptography;
using System.Text;
/// <summary>
/// 文件MD5计算器
/// </summary>
public class FileMD5Helper
{
#region 公共方法
/// <summary>
/// 计算文件的md5值,返回大写格式
/// </summary>
/// <param name="url"> 如Application.streamingAssetsPath + "/"+ "mydatabase.sqlite"</param>
/// <returns></returns>
public static string GenerateFileMD5Upper(string url)
{
if (File.Exists(url) == false)
return string.Empty;
byte[] fileByte = File.ReadAllBytes(url);
if (fileByte == null)
return string.Empty;
byte[] hashByte = new MD5CryptoServiceProvider().ComputeHash(fileByte);
return byteArrayToString(hashByte);
}
#endregion
#region 1.获得字符串md5值
public static string GetMD5(string msg)
{
StringBuilder sb = new StringBuilder();
using (MD5 md5 = MD5.Create())
{
byte[] buffer = Encoding.UTF8.GetBytes(msg);
byte[] newB = md5.ComputeHash(buffer);
foreach (byte item in newB)
{
sb.Append(item.ToString("x2"));
}
}
return sb.ToString();
}
#endregion
#region 2获得一个文件的MD5
public static string GetFileMD5(string filepath)
{
StringBuilder sb = new StringBuilder();
using (MD5 md5 = MD5.Create())
{
using (FileStream fs = File.OpenRead(filepath))
{
byte[] newB = md5.ComputeHash(fs);
foreach (byte item in newB)
{
sb.Append(item.ToString("x2"));
}
}
}
return sb.ToString();
}
#endregion
#region 私有方法
/// <summary>
/// 输出数据的十六进制字符串
/// </summary>
/// <param name="arrInput"></param>
/// <returns></returns>
private static string byteArrayToString(byte[] arrInput)
{
StringBuilder sOutput = new StringBuilder(arrInput.Length);
for (int i = 0; i < arrInput.Length; i++)
{
sOutput.Append(arrInput[i].ToString("X2"));
}
return sOutput.ToString();
}
#endregion
}
using System.Security.Cryptography;
using System.Text;
/// <summary>
/// 文件MD5计算器
/// </summary>
public class FileMD5Helper
{
#region 公共方法
/// <summary>
/// 计算文件的md5值,返回大写格式
/// </summary>
/// <param name="url"> 如Application.streamingAssetsPath + "/"+ "mydatabase.sqlite"</param>
/// <returns></returns>
public static string GenerateFileMD5Upper(string url)
{
if (File.Exists(url) == false)
return string.Empty;
byte[] fileByte = File.ReadAllBytes(url);
if (fileByte == null)
return string.Empty;
byte[] hashByte = new MD5CryptoServiceProvider().ComputeHash(fileByte);
return byteArrayToString(hashByte);
}
#endregion
#region 1.获得字符串md5值
public static string GetMD5(string msg)
{
StringBuilder sb = new StringBuilder();
using (MD5 md5 = MD5.Create())
{
byte[] buffer = Encoding.UTF8.GetBytes(msg);
byte[] newB = md5.ComputeHash(buffer);
foreach (byte item in newB)
{
sb.Append(item.ToString("x2"));
}
}
return sb.ToString();
}
#endregion
#region 2获得一个文件的MD5
public static string GetFileMD5(string filepath)
{
StringBuilder sb = new StringBuilder();
using (MD5 md5 = MD5.Create())
{
using (FileStream fs = File.OpenRead(filepath))
{
byte[] newB = md5.ComputeHash(fs);
foreach (byte item in newB)
{
sb.Append(item.ToString("x2"));
}
}
}
return sb.ToString();
}
#endregion
#region 私有方法
/// <summary>
/// 输出数据的十六进制字符串
/// </summary>
/// <param name="arrInput"></param>
/// <returns></returns>
private static string byteArrayToString(byte[] arrInput)
{
StringBuilder sOutput = new StringBuilder(arrInput.Length);
for (int i = 0; i < arrInput.Length; i++)
{
sOutput.Append(arrInput[i].ToString("X2"));
}
return sOutput.ToString();
}
#endregion
}
阅读全文
0 0
- 文件MD5计算器
- MD5计算器,字符串&文件校验
- 自学QT之QT开发文件MD5计算器源码
- 文件MD5
- MyEasyTools:哈希值计算器(MD5+SHA1)
- 获取文件MD5,MD5加密
- 什么是md5文件
- 计算文件MD5
- 文件md5加密
- java MD5 文件 字符串
- C# MD5文件校验
- 获取文件的md5
- C# MD5文件校验
- C# MD5文件校验 .
- 获取文件md5值
- python 文件的md5
- 计算文件的MD5
- 获取文件md5值
- python——type()、metaclass元类和精简ORM框架
- 我的第一篇博客
- PHP操作Redis LIST ,SET, HASH 的相关命令 (一)
- 51Nod 1349
- HTML5-angular-rem
- 文件MD5计算器
- ios自动上下拉菜单,自适应宽高
- eclipse4.6创建maven web项目
- EF之多外键查询
- React Native入门(八)之网络请求Fetch
- centos7安装卸载mysql
- 寄存器使用小思路
- js ajax 的理解
- linux 浮点计算 bc命令 设置脚本退出值