欢迎来到代码驿站!

.NET代码

当前位置:首页 > 软件编程 > .NET代码

下载软件后使用c#获取文件的md5码示例

时间:2021-07-22 07:46:40|栏目:.NET代码|点击:

很多朋友在下载文件的时候,经常会发现网站提供了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# 中用 Sqlparameter 的两种用法

栏    目:.NET代码

下一篇:C#实现日期格式转换的公共方法类实例

本文标题:下载软件后使用c#获取文件的md5码示例

本文地址:http://www.codeinn.net/misctech/160136.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有