亚洲成精品动漫久久精久,九九在线精品视频播放,黄色成人免费观看,三级成人影院,久碰久,四虎成人欧美精品在永久在线

掃一掃
關注微信公眾號

實例解說.Net構架下的加密編程
2007-02-27   

很久以前就一直想寫一個加密程序,但是一直感到太麻煩而沒有動手,不過在前段時間學習.NET的過程中發現.NET的框架中封裝了與加密有關的類。而且要在.NET中進行加密編程也是很容易的。
現在就對本文使用的加密技術來做個講解。首先我們得知道的是密鑰這個專用名詞。密鑰可以這樣來理解:X+Y=Z。其中X是要被加密的數據,Y就是密鑰,Z是加密后的數據。如果在這個加法中將Y去掉,那嗎就成了X=Z。所以Y在這里就可以被看成一個變量,而密鑰也正是一個變量,當這個變量發生變化后加密的數據也就更著發生變化了。不過在有的資料中會將它稱為向量。
本文所采用的加密方法是被稱為密鑰散列值的方法。此方法是將要加密的數據和密鑰進行組合產生新的加密了的數據。
在.NET中可以說加密所要使用的類全部都集中在System.Security.Cryptography框架中,他包含了多種加密算法,所以我們使用的加密方法也是在System.Security.Cryptography框夾中。
下面我們就來看看如何實現數據的加密。
首先在窗口中添加一個Button,3個Textbox,3個Label控件。將Button的Text屬性設置為"確定"。將3個Label控件的Text屬性設置分別設置為:文字,密鑰,HMACSHA1。3個Textbox的屬性保持默認。添加控件后的圖如下:
現在雙擊Button1在Button1_Click中輸入下面的代碼:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles Button1.Click
 Dim txt1() As Byte
 txt1 = System.Text.ASCIIEncoding.ASCII.GetBytes(TextBox1.Text)
 '讀取輸入的文字,即要加密的文字。
 Dim key(16) As Byte
 key = System.Text.ASCIIEncoding.ASCII.GetBytes(TextBox2.Text)'讀取密鑰
 'HMACSHA加密
 Dim hma As New System.Security.Cryptography.HMACSHA1(key)'聲明加密類,既使用何種加密方法
 Dim csstream As New System.Security.Cryptography.CryptoStream(System.IO.Stream.Null, hma,
Security.Cryptography.CryptoStreamMode.Write)'進行加密轉換
 csstream.Write(txt1, 0, txt1.Length)
 '將加密后的數據保存在TXT1這個變量中
 '此時的txt1已經不是先前的要加密的文字,而是被刷新后的已經加密的數據。
 csstream.Close()
 TextBox3.Text = System.Text.ASCIIEncoding.ASCII.GetString(hma.Hash)'顯示加密的文字。
End Sub


程序說明:在本代碼中我們主要是使用HMACSHA1算法實現了密鑰散列值的加密。從代碼可以看出要在.NET中進行數據的加密其實并不難,關鍵是選擇System.Security.Cryptography中具體算法。
總結:對于加密技術本文并沒設計的太多,其原因是加密技術本身在大學中就是作為單獨的一們學科,何況現在有很數專門的書在討論加密算法,有興趣的讀者可以去看看。本文主要的意圖是告訴大家,在.NET中已經將加密作為框架的一部分,我們可以根據自己的需要進行選擇具體的加密算法。而且在.NET中使用加密編程并不會太難。
加密文字"這一次我絕不放手",密鑰"123"時運行的效果。如圖

加密文字"這一次我絕不放手",密鑰"223"時運行的效果。如圖

加密文字"愛你直到永遠ZHANG RUI RUI",密鑰"223"時運行的效果。如圖

加密文字"愛你直到永遠ZHANG RUI RUI",密鑰"123"時運行的效果。如圖


熱詞搜索:

上一篇:如何在兩臺Windows Vista間共享加密文件
下一篇:教你十種方法 輕輕松松遠離垃圾郵件

分享到: 收藏