成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

簡單描述C#哈希值

開發 后端
本文介紹借助于System.Security.Cryptography命名空間的密碼資源,將非常容易產生與比較C#哈希值。因為所有的哈希函數都接收類型為 Byte() 的輸入。

借助于System.Security.Cryptography命名空間的密碼資源,將非常容易產生與比較C#哈希值。因為所有的哈希函數都接收類型為 Byte() 的輸入,因此可能需要將初始數據轉換成一個字節數組才能夠為它產生哈希值。欲為一個字符串值建立一個哈希值,請依下列步驟進行:

1、使用Using語句導入System、System.Security、System.Security.Cryptographic與System.Text命名空間,這樣一來,您才不需要于程序代碼中編寫一長串的完整名稱:

  1. using System.Drawing;  
  2. using System.Text;  
  3. using System.Windows.Forms;  
  4. using System.Security.Cryptography; 

2、聲明一個字符串變量來持有您的初始數據,并聲明兩個字節數組(未定義大小)來持有初始字節與所產生出的C#哈希值:

  1. string sSourceData;  
  2. byte[] tmpSource;  
  3. byte[] tmpHash; 

3、使用 GetBytes() 方法(它是System.Text.ASCIIEncoding類的一部分)將您的初始字符串轉換至一個字節數組中:

  1. SourceData = "MySourceData";  
  2. // 根據初始數據來建立一個字節數組  
  3. tmpSource = ASCIIEncoding.ASCII.GetBytes(sSourceData); 

4、通過調用MD5CryptoServiceProvider類的實例的ComputeHash方法來為您的初始數據計算出MD5哈希值。請注意,欲計算出另外一個哈希值,您必須建立該類的另外一個實例。

  1. // 根據初始數據計算出哈希值  
  2. tmpHash = new MD5CryptoServiceProvider().ComputeHash(tmpSource); 

5、tmpHash字節數組現在會獲取您初始數據的哈希值(128位值=16字節)。將此顯示或儲存成一個十六進制字符串通常會非常有用,下列程序代碼即是進行此項處理:

  1. lblHashResult.Text = sSourceData + "\n" + ByteArrayToString(tmpHash) + "\n";  
  2. private string ByteArrayToString(byte[] arrInput  
  3. {  
  4. StringBuilder sOutput = new StringBuilder(arrInput.Length);  
  5. for (int i = 0; i < arrInput.Length; i++){  
  6. sOutput.Append(arrInput[i].ToString("X2"));  
  7. }  
  8. return sOutput.ToString();  

6、通過上述程序代碼,您便能夠為初始數據產生出哈希值并以一個十六進制字符串來表示。接下來,我們要繼續說明如何比較兩個C#哈希值。為初始數據建立哈希值的目的之一,就是要提供一種方式來檢查數據是否被更改過,或是不通過實際的值來比較兩個值。不論是哪一種情況,您都需要比較兩個哈希值。然而,如果兩個哈希值皆已儲存成十六進制字符串,則比較C#哈希值的操作將會更加簡易。當然,也有可能兩個哈希值都是以字節數組的形式存在。后續步驟的程序代碼將延續先前步驟的程序代碼,以便示范如何比較兩個字節數組。

【編輯推薦】

  1. 淺談C#開發WinForm
  2. C#靜態構造函數簡介
  3. C#實現ControlTemplate方法
  4. C#驗證輸入方法詳解
  5. 淺析C#透明窗體
責任編輯:佚名 來源: 博客園
相關推薦

2009-08-31 18:32:01

C# ListBoxE

2009-08-19 10:09:21

C#和C++

2009-09-01 18:25:32

C#結構實例

2009-08-21 17:31:58

C#垃圾回收

2009-08-13 17:58:34

C#存儲過程

2009-09-02 13:01:11

C#多路廣播

2009-09-16 09:01:40

C#多維數組

2009-08-28 09:30:48

C#命名屬性

2009-09-07 14:33:02

C# switch語句

2009-08-27 10:01:52

C#自動屬性

2009-09-01 17:08:35

C# Color枚舉

2009-09-03 16:55:58

C#引用類型

2009-09-07 15:31:49

C#支持事件

2009-09-02 17:38:16

C#泛型支持

2009-08-26 14:54:23

C# new和over

2009-08-31 17:53:20

C#實現索引器

2009-09-17 16:28:27

C#參差數組

2009-09-03 10:19:12

C#表單控件

2009-09-02 10:39:00

C#釋放托管資源

2009-09-03 15:46:57

C#自定義事件
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 99热精品在线观看 | 成人亚洲精品久久久久软件 | 日韩精品视频在线 | 国产欧美日韩久久久 | 欧美久久精品一级黑人c片 91免费在线视频 | 久久国产精品一区二区三区 | 日本精品视频在线观看 | 国产精品久久久久久久久免费樱桃 | 久久精品成人 | 日韩成人在线网址 | 成人av网页 | 国产精品久久久久久久免费观看 | 91在线视频观看 | 国产精品高潮呻吟久久av野狼 | 欧美xxxx色视频在线观看免费 | 一区二区日韩精品 | 国产精品色综合 | 亚洲精品专区 | 欧美一级电影免费 | 噜噜噜噜狠狠狠7777视频 | 91在线导航 | 久久蜜桃av一区二区天堂 | 亚洲精品久久久久久首妖 | 99re热精品视频 | 红色av社区 | 天天成人综合网 | 久久久成人一区二区免费影院 | 亚洲欧美视频 | 每日在线更新av | 久久丁香| 综合视频在线 | 国产精品www| 91中文在线观看 | 91成人小视频 | 国产亚洲一区二区三区在线观看 | 久久综合欧美 | 国产欧美一区二区三区久久人妖 | 午夜视频在线观看一区二区 | 亚洲3级 | 国内精品免费久久久久软件老师 | 精品国产一区二区三区久久影院 |