千家信息网

VB.NET如何编写DEC加密程序

发表于:2024-11-19 作者:千家信息网编辑
千家信息网最后更新 2024年11月19日,这篇文章主要为大家展示了"VB.NET如何编写DEC加密程序",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"VB.NET如何编写DEC加密程序"这篇文章吧。
千家信息网最后更新 2024年11月19日VB.NET如何编写DEC加密程序

这篇文章主要为大家展示了"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加密程序"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

0