浅析VB.NET编写DEC加密程序

学习VB.NET时,你可能会遇到VB.NET编写DEC加密程序问题,这里将介绍VB.NET编写DEC加密程序问题的解决方法,在这里拿出来和大家分享一下。

在VB.NET编写DEC加密程序是很容易的事情,因为VB.NET的类库中就自带了相应的函数,下面分别是加密函数和解密函数。

加密函数:

 
 
 
  1. Public Shared Function Encrypt(ByVal pToEncrypt As String, 
    ByVal sKey As String) As String  
  2. Dim des As New DESCryptoServiceProvider()  
  3. Dim inputByteArray() As Byte  
  4. inputByteArray = Encoding.Default.GetBytes(pToEncrypt)  
  5. ''建立加密对象的密钥和偏移量  
  6. ''原文使用ASCIIEncoding.ASCII方法的GetBytes方法  
  7. ''使得输入密码必须输入英文文本  
  8. des.Key = ASCIIEncoding.ASCII.GetBytes(sKey)  
  9. des.IV = ASCIIEncoding.ASCII.GetBytes(sKey)  
  10. ''写二进制数组到加密流  
  11. ''(把内存流中的内容全部写入)  
  12. Dim ms As New System.IO.MemoryStream()  
  13. Dim cs As New CryptoStream(ms, des.CreateEncryptor, CryptoStreamMode.Write)  
  14. ''写二进制数组到加密流  
  15. ''(把内存流中的内容全部写入)  
  16. cs.Write(inputByteArray, 0, inputByteArray.Length)  
  17. cs.FlushFinalBlock()  
  18. ''建立输出字符串  
  19. Dim ret As New StringBuilder()  
  20. Dim b As Byte  
  21. For Each b In ms.ToArray()  
  22. ret.AppendFormat("{0:X2}", b)  
  23. Next  
  24. Return ret.ToString()  
  25. End Function 

解密函数:

 
 
 
  1. Public Shared Function Decrypt(ByVal pToDecrypt As String, 
    ByVal sKey As String) As String  
  2. Dim des As New DESCryptoServiceProvider()  
  3. ''把字符串放入byte数组  
  4. Dim len As Integer  
  5. len = pToDecrypt.Length / 2 - 1  
  6. Dim inputByteArray(len) As Byte  
  7. Dim x, i As Integer  
  8. For x = 0 To len  
  9. i = Convert.ToInt32(pToDecrypt.Substring(x * 2, 2), 16)  
  10. inputByteArray(x) = CType(i, Byte)  
  11. Next  
  12. ''建立加密对象的密钥和偏移量,此值重要,不能修改  
  13. des.Key = ASCIIEncoding.ASCII.GetBytes(sKey)  
  14. des.IV = ASCIIEncoding.ASCII.GetBytes(sKey)  
  15. Dim ms As New System.IO.MemoryStream()  
  16. Dim cs As New CryptoStream(ms, des.CreateDecryptor, 
    CryptoStreamMode.Write)  
  17. cs.Write(inputByteArray, 0, inputByteArray.Length)  
  18. cs.FlushFinalBlock()  
  19. Return Encoding.Default.GetString(ms.ToArray)  
  20. End Function 

两个函数中***个参数是待加密或解密的字符串,sKey是使用的密钥,必须是8位,使用的时候要注意哦,不然会出错的。以上介绍VB.NET编写DEC加密程序。

当前名称:浅析VB.NET编写DEC加密程序
网站网址:http://www.shufengxianlan.com/qtweb/news19/461719.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联