用C#写一个MD5值文件校验器(附源码)

分类:.NET
 标签:.NET,C#,MD5校验器,文件校验器
   修改 | 阅读(3115)| 评论(0)

网上看到很多人用C#可以很容易实现MD5加密,因为.NET框架本身就提供有方法:

string MD5 = FormsAuthentication.HashPasswordForStoringInConfigFile(inputString, "MD5");

需要添加

using System.Web.Security;

如果是WinForm程序,需要引用 System.Web。

这样很容易对一个字符串进行MD5加密,但很多人不明白网上的那些MD5文件校验器是怎样对一个文件进行MD5加密计算的。其实用C#很容易做出来,基本原理是读取文件流,.NET中提供有对文件流进行计算的方法,以下是源码:

private void btnEncryption_Click(object sender, EventArgs e)
{
	if (!File.Exists(txtPath.Text))
	{
		MessageBox.Show("文件不存在!", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
		return;
	}
	MD5 md5 = MD5.Create();
	using (FileStream fs = File.OpenRead(txtPath.Text))
	{
		string s = string.Empty;
		byte[] b = md5.ComputeHash(fs);
		for (int i = 0; i < b.Length; i++)
		{
			s += b[i].ToString("x2");
		}
		txtResult.Text = s;
	}
	md5.Clear();
}

这就是一个很简单的文件MD5值校验器。在读取大文件时比较慢,可能会造成假死,可以自己进行扩展,用多线程的方式进行读取,并加入进度条。

源码下载:

MD5Encryption.rar


您的昵称:*
QQ登录(无需注册直接登录可进行回复)
您的邮箱:(填写邮箱,如有回复可进行邮件通知)
验证码:
点击刷新