欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時間:2014年05月08日 11:11:17   作者:  
這篇文章主要介紹了下載軟件后使用c#獲取文件的md5碼示例,需要的朋友可以參考下

很多朋友在下載文件的時候,經(jīng)常會發(fā)現(xiàn)網(wǎng)站提供了MD5校驗碼,其實這個MD5碼的作用就是當你下載文件好了之后,拿你下載好的文件的MD5校驗碼,跟下載網(wǎng)站提供的進行比較,如果完全一致,說明你下載中文件沒問題,如果校驗碼不一致,說明下載過程中你的文件出錯了,或者是你的文件下載出錯了,反正就是跟原始文件不一致。而且只要是文件不一樣,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#優(yōu)雅的實現(xiàn)INotifyPropertyChanged接口

    C#優(yōu)雅的實現(xiàn)INotifyPropertyChanged接口

    這篇文章介紹了C#實現(xiàn)INotifyPropertyChanged接口的方法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-08-08
  • c# wpf使用GMap.NET類庫,實現(xiàn)地圖軌跡回放

    c# wpf使用GMap.NET類庫,實現(xiàn)地圖軌跡回放

    這篇文章主要介紹了c# wpf使用GMap.NET類庫,實現(xiàn)地圖軌跡回放的方法,幫助大家更好的理解和學習使用c#,感興趣的朋友可以了解下
    2021-03-03
  • C#實現(xiàn)HTTP下載文件的方法

    C#實現(xiàn)HTTP下載文件的方法

    這篇文章主要介紹了C#實現(xiàn)HTTP下載文件的方法,包括了HTTP通信的創(chuàng)建、本地文件的寫入等,非常具有實用價值,需要的朋友可以參考下
    2014-11-11
  • C# DataTable分頁處理實例代碼

    C# DataTable分頁處理實例代碼

    有時候我們從數(shù)據(jù)庫獲取的數(shù)據(jù)量太大,而我們不需要一次性顯示那么多的時候,我們就要對數(shù)據(jù)進行分頁處理了,讓每頁顯示不同的數(shù)據(jù)。
    2017-06-06
  • C#數(shù)據(jù)結構與算法揭秘二

    C#數(shù)據(jù)結構與算法揭秘二

    上文對數(shù)據(jù)結構與算法,有了一個簡單的概述與介紹,這篇文章,我們介紹一中典型數(shù)據(jù)結構——線性結構
    2012-10-10
  • 淺析C#中不同格式請求的區(qū)別

    淺析C#中不同格式請求的區(qū)別

    form-data?請求和?x-www-form-urlencoded?請求是兩種常見的?HTTP?請求體格式,這篇文章主要為大家詳細介紹了二者的區(qū)別與應用,希望對大家有所幫助
    2023-08-08
  • c# mutex互斥量的深入解析

    c# mutex互斥量的深入解析

    本篇文章主要是對c#中的mutex互斥量進行了詳細的分析介紹,需要的朋友可以過來參考下,希望對大家有所幫助
    2014-01-01
  • C#表達式樹的基本用法講解

    C#表達式樹的基本用法講解

    這篇文章主要介紹了C#表達式樹的基本用法講解,幫助大家更好的理解和使用c#,感興趣的朋友可以了解下
    2020-12-12
  • c#事件使用示例詳解

    c#事件使用示例詳解

    這篇文章主要介紹了c#事件使用方法,下面我們利用一個例子來加深我們對事件的理解,需要的朋友可以參考下
    2014-04-04
  • C#飛行棋小程序設計代碼

    C#飛行棋小程序設計代碼

    這篇文章主要為大家詳細介紹了C#飛行棋小程序設計代碼,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-11-11

最新評論