日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
簡(jiǎn)單描述C#哈希值

借助于System.Security.Cryptography命名空間的密碼資源,將非常容易產(chǎn)生與比較C#哈希值。因?yàn)樗械墓:瘮?shù)都接收類型為 Byte() 的輸入,因此可能需要將初始數(shù)據(jù)轉(zhuǎn)換成一個(gè)字節(jié)數(shù)組才能夠?yàn)樗a(chǎn)生哈希值。欲為一個(gè)字符串值建立一個(gè)哈希值,請(qǐng)依下列步驟進(jìn)行:

10年積累的網(wǎng)站制作、成都網(wǎng)站建設(shè)經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶對(duì)網(wǎng)站的新想法和需求。提供各種問(wèn)題對(duì)應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先做網(wǎng)站設(shè)計(jì)后付款的網(wǎng)站建設(shè)流程,更有靖州免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。

1、使用Using語(yǔ)句導(dǎo)入System、System.Security、System.Security.Cryptographic與System.Text命名空間,這樣一來(lái),您才不需要于程序代碼中編寫(xiě)一長(zhǎng)串的完整名稱:

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

2、聲明一個(gè)字符串變量來(lái)持有您的初始數(shù)據(jù),并聲明兩個(gè)字節(jié)數(shù)組(未定義大小)來(lái)持有初始字節(jié)與所產(chǎn)生出的C#哈希值:

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

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

 
 
 
  1. SourceData = "MySourceData";  
  2. // 根據(jù)初始數(shù)據(jù)來(lái)建立一個(gè)字節(jié)數(shù)組  
  3. tmpSource = ASCIIEncoding.ASCII.GetBytes(sSourceData); 

4、通過(guò)調(diào)用MD5CryptoServiceProvider類的實(shí)例的ComputeHash方法來(lái)為您的初始數(shù)據(jù)計(jì)算出MD5哈希值。請(qǐng)注意,欲計(jì)算出另外一個(gè)哈希值,您必須建立該類的另外一個(gè)實(shí)例。

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

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

 
 
 
  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、通過(guò)上述程序代碼,您便能夠?yàn)槌跏紨?shù)據(jù)產(chǎn)生出哈希值并以一個(gè)十六進(jìn)制字符串來(lái)表示。接下來(lái),我們要繼續(xù)說(shuō)明如何比較兩個(gè)C#哈希值。為初始數(shù)據(jù)建立哈希值的目的之一,就是要提供一種方式來(lái)檢查數(shù)據(jù)是否被更改過(guò),或是不通過(guò)實(shí)際的值來(lái)比較兩個(gè)值。不論是哪一種情況,您都需要比較兩個(gè)哈希值。然而,如果兩個(gè)哈希值皆已儲(chǔ)存成十六進(jìn)制字符串,則比較C#哈希值的操作將會(huì)更加簡(jiǎn)易。當(dāng)然,也有可能兩個(gè)哈希值都是以字節(jié)數(shù)組的形式存在。后續(xù)步驟的程序代碼將延續(xù)先前步驟的程序代碼,以便示范如何比較兩個(gè)字節(jié)數(shù)組。

【編輯推薦】

  1. 淺談C#開(kāi)發(fā)WinForm
  2. C#靜態(tài)構(gòu)造函數(shù)簡(jiǎn)介
  3. C#實(shí)現(xiàn)ControlTemplate方法
  4. C#驗(yàn)證輸入方法詳解
  5. 淺析C#透明窗體

文章名稱:簡(jiǎn)單描述C#哈希值
文章起源:http://m.5511xx.com/article/dpcecei.html