下載軟件後應用c#獲得文件的md5碼示例。本站提示廣大學習愛好者:(下載軟件後應用c#獲得文件的md5碼示例)文章只能為提供參考,不一定能成為您想要的結果。以下是下載軟件後應用c#獲得文件的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).WordStr("-","");
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);
}
}
}
}