Код VB.NET, который я использую на стороне приложения, приведен ниже ...
Imports System
Imports System.Text
Imports System.Security.Cryptography
Imports System.IO
Module Crypto
Public Function Decrypt(ByVal strToDecrypt As String) As String
Try
'initialize our key
Dim tripleDESKey As SymmetricAlgorithm = SymmetricAlgorithm.Create("TripleDES")
tripleDESKey.Key = Convert.FromBase64String("cPSQAC05GBXzMhRRz7tm8cqg+vHdHyN5")
tripleDESKey.IV = Convert.FromBase64String("jIShBJVBfXo=")
'load our encrypted value into a memory stream
Dim encryptedValue As String = strToDecrypt
Dim encryptedStream As MemoryStream = New MemoryStream()
encryptedStream.Write(Convert.FromBase64String(encryptedValue), 0, Convert.FromBase64String(encryptedValue).Length)
encryptedStream.Position = 0
'set up a stream to do the decryption
Dim cs As CryptoStream = New CryptoStream(encryptedStream, tripleDESKey.CreateDecryptor, CryptoStreamMode.Read)
Dim decryptedStream As MemoryStream = New MemoryStream()
Dim buf() As Byte = New Byte(2048) {}
Dim bytesRead As Integer
'keep reading from encrypted stream via the crypto stream
'and store that in the decrypted stream
bytesRead = cs.Read(buf, 0, buf.Length)
While (bytesRead > 0)
decryptedStream.Write(buf, 0, bytesRead)
bytesRead = cs.Read(buf, 0, buf.Length)
End While
'reassemble the decrypted stream into a string
Dim decryptedValue As String = Encoding.ASCII.GetString(decryptedStream.ToArray())
Return (decryptedValue.ToString())
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Function
Public Function Encrypt(ByVal strToEncrypt As String) As String
Dim sa As SymmetricAlgorithm = SymmetricAlgorithm.Create("TripleDES")
sa.Key = Convert.FromBase64String("cPSQAC05GBXzMhRRz7tm8cqg+vHdHyN5")
sa.IV = Convert.FromBase64String("jIShBJVBfXo=")
Dim inputByteArray() As Byte = Encoding.ASCII.GetBytes(strToEncrypt)
Dim mS As MemoryStream = New MemoryStream()
Dim trans As ICryptoTransform = sa.CreateEncryptor
Dim buf() As Byte = New Byte(2048) {}
Dim cs As CryptoStream = New CryptoStream(mS, trans, CryptoStreamMode.Write)
cs.Write(inputByteArray, 0, inputByteArray.Length)
cs.FlushFinalBlock()
Return Convert.ToBase64String(mS.ToArray).ToString
End Function
End Module