日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

实例解说.Net构架下的加密编程

發(fā)布時(shí)間:2023/11/27 生活经验 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 实例解说.Net构架下的加密编程 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
yesky(張悅yesky)

http://www.yesky.com/SoftChannel/72342380484755456/20031225/1756613.shtml

很久以前就一直想寫一個(gè)加密程序,但是一直感到太麻煩而沒有動(dòng)手,不過在前段時(shí)間學(xué)習(xí).NET的過程中發(fā)現(xiàn).NET的框架中封裝了與加密有關(guān)的類。而且要在.NET中進(jìn)行加密編程也是很容易的。

  現(xiàn)在就對(duì)本文使用的加密技術(shù)來做個(gè)講解。首先我們得知道的是密鑰這個(gè)專用名詞。密鑰可以這樣來理解:X+Y=Z。其中X是要被加密的數(shù)據(jù),Y就是密鑰,Z是加密后的數(shù)據(jù)。如果在這個(gè)加法中將Y去掉,那嗎就成了X=Z。所以Y在這里就可以被看成一個(gè)變量,而密鑰也正是一個(gè)變量,當(dāng)這個(gè)變量發(fā)生變化后加密的數(shù)據(jù)也就更著發(fā)生變化了。不過在有的資料中會(huì)將它稱為向量。

  本文所采用的加密方法是被稱為密鑰散列值的方法。此方法是將要加密的數(shù)據(jù)和密鑰進(jìn)行組合產(chǎn)生新的加密了的數(shù)據(jù)。

  在.NET中可以說加密所要使用的類全部都集中在System.Security.Cryptography框架中,他包含了多種加密算法,所以我們使用的加密方法也是在System.Security.Cryptography框夾中。
下面我們就來看看如何實(shí)現(xiàn)數(shù)據(jù)的加密。

  首先在窗口中添加一個(gè)Button,3個(gè)Textbox,3個(gè)Label控件。將Button的Text屬性設(shè)置為"確定"。將3個(gè)Label控件的Text屬性設(shè)置分別設(shè)置為:文字,密鑰,HMACSHA1。3個(gè)Textbox的屬性保持默認(rèn)。添加控件后的圖如下:



  現(xiàn)在雙擊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)’進(jìn)行加密轉(zhuǎn)換
 csstream.Write(txt1, 0, txt1.Length)
 ’將加密后的數(shù)據(jù)保存在TXT1這個(gè)變量中
 ’此時(shí)的txt1已經(jīng)不是先前的要加密的文字,而是被刷新后的已經(jīng)加密的數(shù)據(jù)。
 csstream.Close()
 TextBox3.Text = System.Text.ASCIIEncoding.ASCII.GetString(hma.Hash)’顯示加密的文字。
End Sub


  程序說明:在本代碼中我們主要是使用HMACSHA1算法實(shí)現(xiàn)了密鑰散列值的加密。從代碼可以看出要在.NET中進(jìn)行數(shù)據(jù)的加密其實(shí)并不難,關(guān)鍵是選擇System.Security.Cryptography中具體算法。

  總結(jié):對(duì)于加密技術(shù)本文并沒設(shè)計(jì)的太多,其原因是加密技術(shù)本身在大學(xué)中就是作為單獨(dú)的一們學(xué)科,何況現(xiàn)在有很數(shù)專門的書在討論加密算法,有興趣的讀者可以去看看。本文主要的意圖是告訴大家,在.NET中已經(jīng)將加密作為框架的一部分,我們可以根據(jù)自己的需要進(jìn)行選擇具體的加密算法。而且在.NET中使用加密編程并不會(huì)太難。

  加密文字"這一次我絕不放手",密鑰"123"時(shí)運(yùn)行的效果。如圖



  加密文字"這一次我絕不放手",密鑰"223"時(shí)運(yùn)行的效果。如圖



  加密文字"愛你直到永遠(yuǎn)ZHANG RUI RUI",密鑰"223"時(shí)運(yùn)行的效果。如圖



加密文字"愛你直到永遠(yuǎn)ZHANG RUI RUI",密鑰"123"時(shí)運(yùn)行的效果。如圖

總結(jié)

以上是生活随笔為你收集整理的实例解说.Net构架下的加密编程的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。