VB.NET編寫DEC加密程序實際操作技巧分享
作者:佚名
VB.NET編寫DEC加密程序的實現(xiàn)其實還是比較簡單的??梢岳闷渲袃戎玫南嚓P函數(shù)來實現(xiàn)。初學者可以以此為參考對象,進行一個充分的了解。
在VB.NET中存在著這樣兩種函數(shù),一個是解密函數(shù),另一個則是加密函數(shù)。這兩種函數(shù)的應用則可以幫助開發(fā)人員實現(xiàn)DEC加密程序。下面我們可以通過兩段代碼來對VB.NET編寫DEC加密程序的相關方法進行一個解讀。
VB.NET編寫DEC加密程序之加密函數(shù):
- Public Shared Function Encrypt(ByVal
pToEncrypt As String, ByVal sKey
As String) As String- Dim des As New DESCryptoServiceProvider()
- Dim inputByteArray() As Byte
- inputByteArray = Encoding.Default.
GetBytes(pToEncrypt)- ''建立加密對象的密鑰和偏移量
- ''原文使用ASCIIEncoding.ASCII方法的GetBytes方法
- ''使得輸入密碼必須輸入英文文本
- des.Key = ASCIIEncoding.ASCII.GetBytes(sKey)
- des.IV = ASCIIEncoding.ASCII.GetBytes(sKey)
- ''寫二進制數(shù)組到加密流
- ''(把內存流中的內容全部寫入)
- Dim ms As New System.IO.MemoryStream()
- Dim cs As New CryptoStream(ms,
des.CreateEncryptor,
CryptoStreamMode.Write)- ''寫二進制數(shù)組到加密流
- ''(把內存流中的內容全部寫入)
- cs.Write(inputByteArray, 0,
inputByteArray.Length)- cs.FlushFinalBlock()
- ''建立輸出字符串
- Dim ret As New StringBuilder()
- Dim b As Byte
- For Each b In ms.ToArray()
- ret.AppendFormat("{0:X2}", b)
- Next
- Return ret.ToString()
- End Function
VB.NET編寫DEC加密程序之解密函數(shù):
- Public Shared Function Decrypt
(ByVal pToDecrypt As String,
ByVal sKey As String) As String- Dim des As New DESCryptoService
Provider()- ''把字符串放入byte數(shù)組
- Dim len As Integer
- len = pToDecrypt.Length / 2 - 1
- Dim inputByteArray(len) As Byte
- Dim x, i As Integer
- For x = 0 To len
- i = Convert.ToInt32(pToDecrypt.
Substring(x * 2, 2), 16)- inputByteArray(x) = CType(i, Byte)
- Next
- ''建立加密對象的密鑰和偏移量,此值重要,不能修改
- des.Key = ASCIIEncoding.ASCII.GetBytes(sKey)
- des.IV = ASCIIEncoding.ASCII.GetBytes(sKey)
- Dim ms As New System.IO.MemoryStream()
- Dim cs As New CryptoStream(ms,
des.CreateDecryptor, CryptoStreamMode.Write)- cs.Write(inputByteArray, 0,
inputByteArray.Length)- cs.FlushFinalBlock()
- Return Encoding.Default.GetString(ms.ToArray)
- End Function
兩個函數(shù)中第一個參數(shù)是待加密或解密的字符串,sKey是使用的密鑰,必須是8位,使用的時候要注意哦,不然會出錯的。
以上就是我們?yōu)榇蠹医榻B的VB.NET編寫DEC加密程序操作技巧。
【編輯推薦】
責任編輯:曹凱
來源:
中國IT實驗室