| ||||||
|
Imports System.Text Imports System.Security.Cryptography
Module ModSecurity Function EnText(ByVal Text As String, ByVal sKey As String) As String Text = Text.ToLower Dim des As New DESCryptoServiceProvider Dim inputByteArray() As Byte inputByteArray = Encoding.Default.GetBytes(Text) des.Key = ASCIIEncoding.ASCII.GetBytes(Left(System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(sKey, "md5"), 8)) des.IV = ASCIIEncoding.ASCII.GetBytes(Left(System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(sKey, "md5"), 8)) 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
Function DeText(ByVal Text As String, ByVal sKey As String) As String Dim des As New DESCryptoServiceProvider Dim len As Integer len = Text.Length / 2 - 1 Dim inputByteArray(len) As Byte Dim x, i As Integer For x = 0 To len i = Convert.ToInt32(Text.Substring(x * 2, 2), 16) inputByteArray(x) = CType(i, Byte) Next des.Key = ASCIIEncoding.ASCII.GetBytes(Left(System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(sKey, "md5"), 8)) des.IV = ASCIIEncoding.ASCII.GetBytes(Left(System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(sKey, "md5"), 8)) 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 End Module |
本文介绍了一个使用DES算法实现的对称加密解密模块。该模块通过VB.NET编程语言实现,能够将明文转换为密文,并能将密文还原为原始明文。加密过程涉及字符串转换、密钥生成及加密流操作。
316

被折叠的 条评论
为什么被折叠?



