Sub Encrypt(dataToEncrypt As String, password As String ) As String
Dim kg As KeyGenerator
Dim c As Cipher
Dim B64 As Base64
Dim Bconv As ByteConverter
Dim data(0) As Byte
Dim iv(0) As Byte
Dim md As MessageDigest
iv = Array As Byte(11, 22, 33, 42, 55, 1, 7, 88) ' 16 bytes for AES
c.Initialize("DESEDE/CBC/PKCS5Padding")
c.InitialisationVector = iv
kg.Initialize("DESEDE")
kg.KeyFromBytes(md.GetMessageDigest(password.GetBytes("UTF8"), "MD5"))
' kg.KeyFromBytes(md.GetMessageDigest(password.GetBytes("ASCII"), "MD5"))
data = Bconv.StringToBytes(dataToEncrypt, "ASCII")
' data = Bconv.StringToBytes(dataToEncrypt, "UTF8")
data = c.Encrypt(data, kg.Key, True)
Return B64.EncodeBtoS(data, 0, data.Length)
End Sub
Sub Decrypt(encryptedData As String, password As String ) As String
Dim kg As KeyGenerator
Dim c As Cipher
Dim B64 As Base64
Dim Bconv As ByteConverter
Dim data(0) As Byte
Dim iv(0) As Byte
Dim md As MessageDigest
If encryptedData.Trim<>"" Then
Try
iv = Array As Byte(11, 22, 33, 42, 55, 1, 7, 88) ' 16 bytes for AES
c.Initialize("DESEDE/CBC/PKCS5Padding")
c.InitialisationVector = iv
kg.Initialize("DESEDE")
kg.KeyFromBytes(md.GetMessageDigest(password.GetBytes("UTF8"), "MD5"))
' kg.KeyFromBytes(md.GetMessageDigest(password.GetBytes("ASCII"), "MD5"))
data = B64.DecodeStoB(encryptedData)
data = c.Decrypt(data, kg.Key, True)
Return Bconv.StringFromBytes(data, "ASCII")
' Return Bconv.StringFromBytes(data, "UTF8")
Catch
Return ""
End Try
Else
Return ""
End If
End Sub