亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C# > 正文

詳細介紹C#之文件校驗工具的開發及問題

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

.加密算法的熟悉
    目前校驗文件使用最多的是MD值和SHA值,不外乎有些使用CRC,前段時間微軟發布了VisualStudio正式版,win鏡像,微軟官方給出的校驗方式都是校驗文件的SHA值。

       C#進行MD加密與SHA加密的實現總結在這里
.文件的加密計算
知道了如何進行普通字符串的加密還不夠,我們要校驗的文件的MD值或SHA值,接下來熟悉如何獲取文件的MD值和SHA值
獲取文件的MD值 

public static string GetFileMD(string filePath)     {       MDCryptoServiceProvider md = new MDCryptoServiceProvider();       FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.Read, FileShare.Read);       byte[] result = md.ComputeHash(fs);       md.Clear();       StringBuilder sb = new StringBuilder();       for (int i = ; i < result.Length; i++)       {         sb.Append(result[i].ToString("X"));       }       return sb.ToString();     }

 
獲取文件的SHA值
         

 public static string GetFileSHA(string filePath)     {       SHA sha = new SHACryptoServiceProvider();       FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.Read, FileShare.Read);       byte[] result = sha.ComputeHash(fs);       sha.Clear();       StringBuilder sb = new StringBuilder();       for (int i = ; i < result.Length; i++)       {         sb.Append(result[i].ToString("X"));       }       return sb.ToString();     }

.文件加密數據結構優化
這么多方法,有許多方法大多數代碼還都是重復的,如何讓代碼更精簡呢?重構,提高代碼的復用率,最初想的是建一個基類,其他各種具體實現都在繼承它,但又覺得好麻煩,要新建好幾個類,最終決定,建一個類,用最簡單的重構,封裝方法。
最終加密幫助類實現代碼如下:
public static class ValidHelper   {     public static string GetFileHash(string filePath, HashAlgorithm algorithm)     {       FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.Read, FileShare.Read);       byte[] result = algorithm.ComputeHash(fs);       algorithm.Clear();       StringBuilder sb = new StringBuilder();       for (int i = ; i < result.Length; i++)       {         sb.Append(result[i].ToString("X"));       }       return sb.ToString();     }      public static string GetFileMD(string filePath)     {       MDCryptoServiceProvider md = new MDCryptoServiceProvider();       return GetFileHash(filePath, md);     }      public static string GetFileSHA(string filePath)     {       SHA sha = new SHACryptoServiceProvider();       return GetFileHash(filePath, sha);     }      public static string GetFileSHA(string filePath)     {       SHA sha = SHA.Create();       return GetFileHash(filePath, sha);     }      public static string GetFileSHA(string filePath)     {       SHA sha = SHA.Create();       return GetFileHash(filePath, sha);     }      public static string GetFileSHA(string filePath)     {       SHA sha = SHA.Create();       return GetFileHash(filePath, sha);     }   }

.完成后測試與分析
代碼完成之后便是測試,在網上找一個文件校驗工具(使用的軟媒魔方里的校驗工具),進行比對,看自己的校驗工具是否與軟媒魔方的校驗工具的校驗結果是否一致,經校驗,沒有錯誤,最初測試的小文件,后來下載了一個win系統,使用自己的校驗工具,校驗是否和微軟官方給出的SHA值一致時,小工具直接卡死了,過了好長時間才出來結果,這說明這個小工具還待優化,尤其是處理大文件。
在網上查找資料,看到有這樣的實現思路,將文件在內存中的位置分段,比如說分成段,分個線程同時開始計算,最后將個計算值再經過處理得到整個文件的SHA值或MD值。然而愚鈍,不知道該如何實現,望大神看到之后能給予一些指導,萬分感謝。

以上介紹就是本文的全部內容,希望大家喜歡。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品久久久久av| 欧美在线视频网| 久久久电影免费观看完整版| 成人网欧美在线视频| 成人网在线视频| 欧美日韩在线视频一区| 精品国产福利视频| 综合网中文字幕| 日韩av在线网址| 懂色aⅴ精品一区二区三区蜜月| 7777精品视频| 国产日韩欧美在线| 亚洲日韩欧美视频一区| 亚洲在线免费看| 亚洲精品xxx| 精品国产鲁一鲁一区二区张丽| 国产亚洲一区精品| 欧美中在线观看| 国产亚洲欧美日韩一区二区| 欧美黑人视频一区| 亚洲午夜小视频| 欧美精品久久久久a| 91精品久久久久久久久青青| 亚洲国产成人久久| 成人日韩在线电影| 北条麻妃一区二区三区中文字幕| 亚洲国产欧美一区二区丝袜黑人| 7777免费精品视频| 黄色一区二区三区| 欧美电影在线观看网站| 在线观看中文字幕亚洲| 成人免费在线网址| 久久天天躁狠狠躁夜夜躁2014| www国产亚洲精品久久网站| 国产精品91一区| 国产一区二区欧美日韩| 久久久97精品| 亚洲乱码av中文一区二区| 日韩精品在线观看视频| 亚洲精品动漫久久久久| 国产精品99久久99久久久二8| 亚洲图片欧美午夜| 久久97久久97精品免视看| 丝袜美腿精品国产二区| 3344国产精品免费看| 国产精品青草久久久久福利99| 热久久这里只有| 亚洲国产97在线精品一区| 亚洲第一色中文字幕| 国产精品久久av| 色悠久久久久综合先锋影音下载| 国产精品亚洲视频在线观看| 久久久国产影院| 97精品一区二区视频在线观看| 欧美性猛交xxxx| 国产精品第七十二页| 欧美成人全部免费| 久久久精品在线| 欧美黑人一级爽快片淫片高清| 国产精品亚洲综合天堂夜夜| 国产亚洲精品久久| 欧美日韩国产91| 亚洲情综合五月天| 欧美激情亚洲精品| 国产午夜精品一区理论片飘花| 亚洲免费av片| 成人免费视频在线观看超级碰| 美日韩精品视频免费看| 亚洲香蕉在线观看| 欧美制服第一页| 日本欧美国产在线| 国产免费亚洲高清| 亚洲free性xxxx护士hd| 亚州精品天堂中文字幕| 亚洲免费视频网站| 日韩a**中文字幕| 5278欧美一区二区三区| 北条麻妃久久精品| 日韩高清有码在线| 欧美午夜激情小视频| 7777kkkk成人观看| 欧美色另类天堂2015| 欧美国产日韩一区二区三区| 亚洲精品视频网上网址在线观看| yellow中文字幕久久| 成人啪啪免费看| 亚洲精品国产suv| 国产精品午夜一区二区欲梦| 一区二区三区视频免费在线观看| 国产日韩欧美自拍| 在线视频国产日韩| 狠狠综合久久av一区二区小说| 午夜精品免费视频| 日韩中文字幕在线观看| 久久亚洲春色中文字幕| 欧美xxxx14xxxxx性爽| 久久久久亚洲精品| 亚洲视频专区在线| 大桥未久av一区二区三区| 中文字幕最新精品| 91精品91久久久久久| 国产美女高潮久久白浆| 国产主播喷水一区二区| 欧美做受高潮电影o| 精品久久国产精品| 中文字幕久精品免费视频| 亚洲精品国产美女| 成人写真视频福利网| 欧美日本高清一区| 欧美精品电影在线| 欧美黑人一区二区三区| 国产黑人绿帽在线第一区| 色先锋久久影院av| 国产女同一区二区| 国产精品男人爽免费视频1| 国产香蕉一区二区三区在线视频| 国产日韩av高清| 国产精品久久av| 日韩在线观看免费| 日韩精品视频免费在线观看| 欧美成人精品一区二区三区| 国产97人人超碰caoprom| 日韩精品一区二区三区第95| 深夜福利日韩在线看| 美女久久久久久久| 欧美黑人巨大xxx极品| 国产精品美女视频网站| 国产精品黄色影片导航在线观看| 国产精品高清免费在线观看| 欧美韩国理论所午夜片917电影| 97在线免费观看视频| 久久久久久久成人| 日本午夜人人精品| 中文字幕亚洲一区在线观看| 成人免费网站在线看| 国产一区二区三区四区福利| 欧美成人午夜激情在线| 亚洲永久免费观看| 国产精品手机播放| 成人中文字幕+乱码+中文字幕| 国内精品久久久久久久久| 麻豆国产va免费精品高清在线| 精品国产美女在线| 91在线中文字幕| 日韩欧美国产高清91| 欧美成人精品在线| 亚洲成人黄色在线观看| 国产精品揄拍一区二区| 国产乱肥老妇国产一区二| 国产精品视频午夜| 日韩精品一二三四区| 久久精品在线视频| 欧美日韩国产在线看| 亚洲一区二区三区毛片| 欧美日韩精品在线观看| 国产精品永久在线| 亚洲va欧美va国产综合久久| 亚洲性夜色噜噜噜7777| 欧美国产第二页| 97色在线观看| 97在线视频免费看| 青草青草久热精品视频在线网站| 欧美高清视频在线| 日韩中文字幕免费|