在VB.NET中存在着这样两种函数,一个是解密函数,另一个则是加密函数。这两种函数的应用则可以帮助开发人员实现DEC加密程序。下面我们可以通过两段代码来对VB.NET编写DEC加密程序的相关方法进行一个解读。
VB.NET编写DEC加密程序之加密函数:
- 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)
- ''写二进制数组到加密流
- ''(把内存流中的内容全部写入)
- Dim ms As New System.IO.MemoryStream()
- Dim cs As New CryptoStream(ms,
des.CreateEncryptor,
CryptoStreamMode.Write)- ''写二进制数组到加密流
- ''(把内存流中的内容全部写入)
- 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加密程序之解密函数:
- Public Shared Function Decrypt
(ByVal pToDecrypt As String,
ByVal sKey As String) As String- Dim des As New DESCryptoService
Provider()- ''把字符串放入byte数组
- 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
两个函数中第一个参数是待加密或解密的字符串,sKey是使用的密钥,必须是8位,使用的时候要注意哦,不然会出错的。
以上就是我们为大家介绍的VB.NET编写DEC加密程序操作技巧。
【编辑推荐】