国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

下載軟件后使用c#獲取文件的md5碼示例

2020-01-24 02:40:57
字體:
來源:轉載
供稿:網友

很多朋友在下載文件的時候,經常會發現網站提供了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);
            }
        }
    }
}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 柳林县| 抚宁县| 博罗县| 唐山市| 镇雄县| 青河县| 汉沽区| 焉耆| 应城市| 高邮市| 东阿县| 永兴县| 县级市| 闸北区| 莒南县| 怀来县| 乐亭县| 澳门| 罗田县| 顺义区| 孙吴县| 遵化市| 永春县| 聂拉木县| 溆浦县| 临桂县| 红河县| 沙田区| 清丰县| 宾川县| 南涧| 库车县| 汝阳县| 上饶县| 农安县| 佛坪县| 黔南| 平泉县| 信丰县| 贡山| 精河县|