|
15, 167, 44, 80, 26, 250, 155, 112, _ 2, 94, 11, 204, 119, 35, 184, 197} Private Shared IV_192() As Byte = {55, 103, 246, 79, 36, 99, 167, 3, _ 42, 5, 62, 83, 184, 7, 209, 13, _ 145, 23, 200, 58, 173, 10, 121, 222} '标准的DES加密 Public Shared Function Encrypt(ByVal value As String) As String If value <> "" Then Dim cryptoProvider As DESCryptoServiceProvider = _ New DESCryptoServiceProvider() Dim ms As MemoryStream = New MemoryStream() Dim cs As CryptoStream = _ New CryptoStream(ms, cryptoProvider.CreateEncryptor(KEY_64, IV_64), _ CryptoStreamMode.Write) Dim sw As StreamWriter = New StreamWriter(cs) sw.Write(value) sw.Flush() cs.FlushFinalBlock() ms.Flush() '再转换为一个字符串 Return Convert.ToBase64String(ms.GetBuffer(), 0, ms.Length) End If End Function '标准的DES解密 Public Shared Function Decrypt(ByVal value As String) As String If value <> "" Then Dim cryptoProvider As DESCryptoServiceProvider = _ New DESCryptoServiceProvider() '从字符串转换为字节组 Dim buffer As Byte() = Convert.FromBase64String(value) Dim ms As MemoryStream = New MemoryStream(buffer) Dim cs As CryptoStream = _ New CryptoStream(ms, cryptoProvider.CreateDecryptor(KEY_64, IV_64), _ CryptoStreamMode.Read) Dim sr As StreamReader = New StreamReader(cs) Return sr.ReadToEnd() End If End Function 'TRIPLE DES加密 Public Shared Function EncryptTripleDES(ByVal value As String) As String If value <> "" Then Dim cryptoProvider As TripleDESCryptoServiceProvider = _ New TripleDESCryptoServiceProvider() Dim ms As MemoryStream = New MemoryStream() Dim cs As CryptoStream = _ New CryptoStream(ms, cryptoProvider.CreateEncryptor(KEY_192, IV_192), _ CryptoStreamMode.Write) Dim sw As StreamWriter = New StreamWriter(cs) sw.Write(value) sw.Flush() cs.FlushFinalBlock() ms.Flush() '再转换为一个字符串 Return Convert.ToBase64String(ms.GetBuffer(), 0, ms.Length) End If End Function 'TRIPLE DES解密 Public Shared Function DecryptTripleDES(ByVal value As String) As String If value <> "" Then Dim cryptoProvider As TripleDESCryptoServiceProvider = _ New TripleDESCryptoServiceProvider() '从字符串转换为字节组 Dim buffer As Byte() = Convert.FromBase64String(value) Dim ms As MemoryStream = New MemoryStream(buffer) Dim cs As CryptoStream = _ New CryptoStream(ms, cryptoProvider.CreateDecryptor(KEY_192, IV_192), _ CryptoStreamMode.Read) Dim sr As StreamReader = New StreamReader(cs) Return sr.ReadToEnd() End If End Function End Class 上面我们将一组字节初始化为密钥,并且使用的是数字常量,如果你在实际应用中也这样做,这些字节一定要在0和255之间,这是一个字节允许的范围值。 三、创建一个Cookie的应用类 下面我们就创建一个简单的类,来设置和获取Cookies。 Public Class CookieUtil '设置COOKIE ***************************************************** 'SetTripleDESEncryptedCookie (只针对密钥和Cookie数据) Public Shared Sub SetTripleDESEncryptedCookie(ByVal key As String, _ ByVal value As String) (责任编辑:编程世界) |
