当前位置:  编程技术>.net/c#/asp.net

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

    来源: 互联网  发布时间:2014-10-30

    本文导语:  很多朋友在下载文件的时候,经常会发现网站提供了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
    {
        ///
        /// 获取文件的MD5码
        ///
        /// 传入的文件名(含路径及后缀名)
        ///
        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);
            }
        }
    }
}


    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • WINDOWS下可以使用flashget来下载软件,那在linux下用什么工具软件来下载程序呢?哪里有linux平台下的下载工具可以下载?谢谢!
  • 在LINUX OS 上是否有类似于Netant 或FlashGet之类多线程多任务的下载软件及其源代码,若有哪里能下载
  • CentOS里的“软件包更新工具”下载的软件放在哪里了?
  • unix 在网上怎么样下载软件
  • 急!关于Linux的下载软件!望各位帮我看看!
  • 【新手请教】在linux如何下载软件?
  • 电台音乐下载软件 OurTunes
  • 怎么干净删除软件?谁知道linux下有netants同样的软件下载?
  • 高分询求:LINUX下如何定时在文本状态下下载软件?
  • Ubuntu 软件中心 的 软件 源代码 哪里可以下载?
  • 怎么安装下载软件啊
  • hi 请问在ubuntu下怎么下载软件
  • linux下有什么好的下载软件吗?
  • 我要做一个论坛,还要能做软件的上传和下载,文件的上传和下载,要求yizi给与帮助!!!
  • 请教问题:在没有X Window的情况下怎么下载软件?
  • 视频字幕下载软件 Google2SRT
  • 在RH Linux中怎么卸载软件呢?比如下载掉kylix这样的软件!
  • 主机用的是代理 虚拟机无法下载软件
  • Unix软件下载!
  • 那里有用JAVA做的B/S结构软件的演示版或源代码下载呀?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3