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值的代碼,本文就引見這麼多,願望對您有所贊助,感謝!