PowerBuilder
PowerBuilder
AES Encryption ECB Mode with PKCS7 Padding
See more Encryption Examples
Duplicates the following C# code:
public static byte[] DecryptBySymmetricKey(string encryptedText, byte[] key)
{
string keyAsBase64 = Convert.ToBase64String(key);
byte[] dataToDecrypt = Convert.FromBase64String(encryptedText);
var keyBytes = key;
AesManaged tdes = new AesManaged();
tdes.KeySize = 256;
tdes.BlockSize = 128;
tdes.Key = keyBytes;
tdes.Mode = CipherMode.ECB;
tdes.Padding = PaddingMode.PKCS7;
ICryptoTransform decrypt__1 = tdes.CreateDecryptor();
byte[] deCipher = decrypt__1.TransformFinalBlock(dataToDecrypt, 0, dataToDecrypt.Length);
tdes.Clear();
string EK_result = Convert.ToBase64String(deCipher);
return EK_result;
}
Chilkat PowerBuilder Downloads
integer li_rc
oleobject loo_Crypt
string ls_KeyAsBase64
string ls_EncryptedBytesAsBase64
string ls_EK_result
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
loo_Crypt = create oleobject
li_rc = loo_Crypt.ConnectToNewObject("Chilkat.Crypt2")
if li_rc < 0 then
destroy loo_Crypt
MessageBox("Error","Connecting to COM object failed")
return
end if
// In the C# code above that is to be duplicated here, use the base64 encoded key.
ls_KeyAsBase64 = "..."
ls_EncryptedBytesAsBase64 = "...."
loo_Crypt.KeyLength = 256
loo_Crypt.CryptAlgorithm = "AES"
loo_Crypt.CipherMode = "ecb"
loo_Crypt.PaddingScheme = 0
loo_Crypt.SetEncodedKey(ls_KeyAsBase64,"base64")
loo_Crypt.EncodingMode = "base64"
// Pass the base64 representation of the encrypted data.
// (The EncodingMode indicates you are passing base64.)
ls_EK_result = loo_Crypt.DecryptStringENC(ls_EncryptedBytesAsBase64)
Write-Debug ls_EK_result
destroy loo_Crypt