程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C#讀取文件MD5值的完成代碼

C#讀取文件MD5值的完成代碼

編輯:C#入門知識

C#讀取文件MD5值的完成代碼。本站提示廣大學習愛好者:(C#讀取文件MD5值的完成代碼)文章只能為提供參考,不一定能成為您想要的結果。以下是C#讀取文件MD5值的完成代碼正文


本文引見一個C#函數,可以完成盤算文件的MD5值,可以用於文件傳輸落後行有用性校驗。

我們曉得可以經由過程將一個字符串停止散列(Hash)運算獲得一個32位字符串,將其作為暗碼來保留是最多見的MD5運用。不曉得年夜家有無留意到,在網上一些下載文件的處所,旁邊注清楚明了MD5校驗值,也是一個32位十六制字符串。這個字符串怎樣用呢?這就是文件的MD5加密。

當我們將一個文件從網高低載以後 ,可以盤算一下文件的MD5值,然後和網上頒布的MD5值停止比較。成果分歧,表現文件沒有成績,假如成果紛歧致,有兩種能夠,一是文件破壞了,沒法應用;還有一種情形,那就是文件被人調換了。鄙人載exe文件時特別應當留意,假如下載了一個被人調換事後的文件,那是相當風險的事,能夠這個文件就被人植入了木馬。

那末應當怎樣來盤算文件的MD5值呢?洪哥給出了一段C#的源代碼。有興致的同伙參考參考。留意,上面這段代碼要包括System.IO定名空間。

/// <summary>
/// 盤算文件的MD5校驗
/// </summary>
/// <param name="fileName"></param>
/// <returns></returns>
public static string GetMD5HashFromFile(string fileName)
{
    try
    {
        FileStream file = new FileStream(fileName, FileMode.Open);
        System.Security.Cryptography.MD5 md5 = new System.Security.Cryptography.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#代碼重要創立了System.Security.Cryptography.MD5類,應用了它的ComputeHash辦法。然後將字節數組轉換成16進制字符串前往。

年夜家可以經由過程下面的重要函數,本身用C#寫一個盤算文件MD值的小法式了。
       
關於C#盤算文件MD5值的代碼,本文就引見這麼多,願望對您有所贊助,感謝!

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved