当前位置: 移动技术网 > IT编程>开发语言>c# > 下载软件后使用c#获取文件的md5码示例

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

2019年07月18日  | 移动技术网IT编程  | 我要评论

很多朋友在下载文件的时候,经常会发现网站提供了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);
            }
        }
    }
}

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网