下载软件后使用c#获取文件的md5码示例
下载软件后使用c#获取文件的md5码示例
发布时间:2016-12-28 来源:查字典编辑
摘要:很多朋友在下载文件的时候,经常会发现网站提供了MD5校验码,其实这个MD5码的作用就是当你下载文件好了之后,拿你下载好的文件的MD5校验码,...

很多朋友在下载文件的时候,经常会发现网站提供了MD5校验码,其实这个MD5码的作用就是当你下载文件好了之后,拿你下载好的文件的MD5校验码,跟下载网站提供的进行比较,如果完全一致,说明你下载中文件没问题,如果校验码不一致,说明下载过程中你的文件出错了,或者是你的文件下载出错了,反正就是跟原始文件不一致。而且只要是文件不一样,MD5码肯定不一样,这个是不会重复的,那么到底如何获取文件的MD5码呢?下面就使用C#代码进行讲解。

复制代码 代码如下:

//-----------------------------------------------------------------------

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

using System.Security;

using System.Security.Cryptography;

using System.IO;

namespace MD5FileForm

{

public partial class MD5Form : Form

{

public MD5Form()

{

InitializeComponent();

}

private void btnGetMD5_Click(object sender, EventArgs e)

{

MD5 md5 = MD5.Create();

OpenFileDialog ofd = new OpenFileDialog();

ofd.ShowDialog();

FileStream fs = new FileStream(ofd.FileName, FileMode.Open);

byte[] bs = md5.ComputeHash(fs);

//获取到MD5码

string md5Str = BitConverter.ToString(bs).Replace("-","");

MessageBox.Show(string.Format("[{0}]的MD5码为:n{1}",ofd.FileName,md5Str));

}

}

}

第二个使用示例

复制代码 代码如下:

using System;

using System.IO;

using System.Security.Cryptography;

using System.Text;

namespace Test

{

public class MD5Code

{

/// <summary>

/// 获取文件的MD5码

/// </summary>

/// <param name="fileName">传入的文件名(含路径及后缀名)</param>

/// <returns></returns>

public string GetMD5HashFromFile(string fileName)

{

try

{

FileStream file = new FileStream(fileName, System.IO.FileMode.Open);

MD5 md5 = new MD5CryptoServiceProvider();

byte[] retVal = md5.ComputeHash(file);

file.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("GetMD5HashFromFile() fail,error:" + ex.Message);

}

}

}

}

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新C#教程学习
热门C#教程学习
编程开发子分类