Please refer to this website
3DES Encryption – Easily encrypt or decrypt strings or files[
^]
Text: Text/Hex =Function: 3DES/CBC/Key:HEX
KEY:3E4F5612EF64305955D543B0AE3508807968905960C44D37
IV: 8049e91025a6b548
INPUT:
7F79C6CAEB9DD463D80ADFC07D4D255195DA546D953FEF9C66AAD359BF925CADA93BD861633099D0
DATA OUPUT SHOUL BE:
63585268636B5A534E46673675564959556F31697A754568544A497A7955796E6B773D3D00000000
However, the codes that I'm using, im receiving error.
Specified block size is not valid for this algorithm.
Any one have a better idea.
What I have tried:
============== FIRST CODE ===========
Private TRIPLE3DES As New TripleDESCryptoServiceProvider
Public Function DECRYPTDATA(ByVal ENCRYPTED_DATA As String) As String
TRIPLE3DES.KeySize = 128
TRIPLE3DES.BlockSize = 128
TRIPLE3DES.Padding = PaddingMode.Zeros
TRIPLE3DES.Key = DES_3Key
TRIPLE3DES.IV = DES_IVector
Dim ENCRYPTEBYTES() As Byte = Convert.FromBase64String(ENCRYPTED_DATA)
Dim MS As New System.IO.MemoryStream
Dim DECSTREAM As New CryptoStream(MS, TRIPLE3DES.CreateDecryptor(), System.Security.Cryptography.CryptoStreamMode.Write)
DECSTREAM.Write(ENCRYPTEBYTES, 0, ENCRYPTEBYTES.Length)
DECSTREAM.FlushFinalBlock()
Return System.Text.Encoding.Unicode.GetString(MS.ToArray)
End Function
============== SECOND CODE ===========
Public Function Decrypt_(ByVal data As Byte(), ByVal key As Byte(), ByVal iv As Byte()) As Byte()
Using DES3_CBC = Aes.Create()
DES3_CBC.KeySize = 128
DES3_CBC.BlockSize = 128
DES3_CBC.Padding = PaddingMode.Zeros
DES3_CBC.Key = key
DES3_CBC.IV = iv
Using decryptor = DES3_ECB.CreateDecryptor(DES3_CBC.Key, DES3_CBC.IV)
Return PerformCryptography(data, decryptor)
End Using
End Using
End Function
Private Function PerformCryptography(ByVal data As Byte(), ByVal cryptoTransform As ICryptoTransform) As Byte()
Using ms = New MemoryStream()
Using cryptoStream = New CryptoStream(ms, cryptoTransform, CryptoStreamMode.Write)
cryptoStream.Write(data, 0, data.Length)
cryptoStream.FlushFinalBlock()
Return ms.ToArray()
End Using
End Using
End Function