自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

C#創(chuàng)建文件的實戰(zhàn)應用示例解析

開發(fā) 后端
C#創(chuàng)建文件的實戰(zhàn)應用示例主要向你介紹了在文件傳送過程中使用C#創(chuàng)建文件中的MD5加密方法,那么這里就向你介紹詳細的實現(xiàn)過程。

由于Internet的開放性,C#創(chuàng)建文件的應用很廣泛,如在任何文件在傳輸過程中都可能受到篡改,而且傳輸過程的不確定性,使得我們?nèi)狈τ行У姆椒ūWC傳輸文件的安全。那么如何找到解決問題的方法呢?這里我們來談談使用C#創(chuàng)建文件的應用。

為了避免上述情況,最普遍的做法是隨傳輸文件提供一個C#創(chuàng)建文件中的驗證碼,用戶在收到文件后,通過重新計算文件驗證碼并與原始驗證碼比較,如果不匹配則表示文件在傳輸過程中發(fā)生了改變。下面,筆者就使用C#給大家演示一下具體的實現(xiàn)過程。

C#創(chuàng)建文件應用一、創(chuàng)建FileStream

在構建文件驗證碼之前,首先需要加載文件,這就要用到.Net framework的FileStream類。在.Net framework下,文件都表示為一個Stream,即字節(jié)序列的抽象概念。而所有涉及文件的讀寫操作都通過Stream類的屬性和方法實現(xiàn)。下面,就是具體的實現(xiàn)代碼:

  1. FileStream fst= new FileStream(  
  2.  
  3. txtFile.Text,FileMode.Open,  
  4.  
  5. FileAccess.Read, FileShare.Read, 8192);  

這里使用了FileStream構建函數(shù)的一種重載方法,需要提一下的是最后一個參數(shù)值8192,該參數(shù)值定義的是緩沖區(qū)的大小,即當文件大于8K時,以8K為單位,對文件進行分段讀取,以提高讀取文件的性能。

C#創(chuàng)建文件二、創(chuàng)建MD5對象

在成功創(chuàng)建FileStream對象之下,接下來就可以使用MD5類計算該對象的哈希值了。這個實現(xiàn)過程非常簡單,只要先聲明一個 MD5CryptoServiceProvider實例,然后使用ComputeHash方法完成計算過程,最后通過Hash屬性就可以得到計算好的字節(jié)數(shù)組了。

  1. ……  
  2.  
  3. MD5CryptoServiceProvider md5=  
  4.  
  5. new MD5CryptoServiceProvider();  
  6.  
  7. FileStream fst= new FileStream(txtFile.Text,FileMode.Open,  
  8.  
  9. FileAccess.Read, FileShare.Read, 8192);  
  10.  
  11. md5.ComputeHash(fst);  
  12.  
  13. byte[] hash=md5.Hash;  
  14.  
  15. ……  

C#創(chuàng)建文件三、轉換驗證碼字符串

由于MD5哈希算法返回的是一個字節(jié)數(shù)據(jù),因此需要轉換成字符串。以下就是具體實現(xiàn)的代碼。

  1. ……  
  2.  
  3. byte[] hash=md5.Hash;  
  4.  
  5. StringBuilder sb=new StringBuilder();  
  6.  
  7. foreach(byte byt in hash)  
  8.  
  9. {  
  10.  
  11. sb.Append(String.Format("{0:X1}", byt));  
  12.  
  13. }  
  14.  
  15. TextBox1.Text = sb.ToString();  
  16.  
  17. ……  

在轉換過程中,首先定義了一個StringBuilder對象,這主要是處于性能上的考慮;接著遍歷MD5哈希值中的每個字節(jié),并使用String.Format方法直接將字節(jié)轉換成16進制格式的字符串,最后輸出結果字符串即可。

注:通過本例生成的MD5驗證碼與同類MD5驗證碼校驗工具在算法上完全一致,因此完全適用于實際應用場合。

C#創(chuàng)建文件的應用有很多,那么這次的應用解決是不是很巧妙呢?希望對你了解和學習C#創(chuàng)建文件方面有所幫助。

【編輯推薦】

  1. C#變量初始化分類詳解
  2. 淺析C#變量初始化的具體實現(xiàn)
  3. C#創(chuàng)建文件夾的實際應用淺析
  4. 淺析C#創(chuàng)建文件夾實現(xiàn)實例
  5. C#創(chuàng)建文件夾實現(xiàn)方法詳解
責任編輯:仲衡 來源: fheyes.cn
相關推薦

2009-08-31 10:56:54

C#創(chuàng)建文件夾

2009-08-31 12:56:36

C#創(chuàng)建文件夾

2009-08-31 12:31:45

C#創(chuàng)建文件夾

2014-03-17 10:27:08

Linux cp備份

2009-08-31 13:32:38

C#創(chuàng)建XML文件

2009-09-09 14:04:18

C# XML解析XML解析方法

2009-09-01 13:51:51

C#創(chuàng)建Word文檔

2009-09-01 09:46:51

C# FileStre

2009-09-01 10:28:38

C#追加文件

2009-08-21 10:00:43

C#創(chuàng)建XML文件XmlTextWrit

2009-09-03 09:16:35

C#遞歸函數(shù)

2009-09-03 15:43:21

C#時間計算

2009-08-31 14:01:50

C#創(chuàng)建一個文件

2009-09-01 17:08:14

C#畫線控件

2009-09-01 14:39:47

C#創(chuàng)建Excel文件

2009-09-01 10:10:51

C# StreamRe

2009-08-04 09:37:34

Linux創(chuàng)建文件命令Linux創(chuàng)建文件命令

2009-09-04 12:22:41

C#日期格式化

2009-01-19 11:07:42

C#Web.NET

2009-09-02 16:14:21

C#動態(tài)創(chuàng)建數(shù)組
點贊
收藏

51CTO技術棧公眾號