Perl
Perl
Workaround for the deprecated Crypt2.DecryptBytesENC method
Shows how to replace the deprecated DecryptBytesENC method. (Chilkat is moving away from the use of CkByteData.)Chilkat Perl Downloads
use chilkat();
$success = 0;
$crypt = chilkat::CkCrypt2->new();
$crypt->put_CryptAlgorithm("aes");
$crypt->put_CipherMode("cbc");
$crypt->put_KeyLength(128);
$crypt->put_PaddingScheme(0);
$crypt->SetEncodedKey("000102030405060708090A0B0C0D0E0F","hex");
$crypt->SetEncodedIV("000102030405060708090A0B0C0D0E0F","hex");
$success = 0;
# ------------------------------------------------------------------------
# The EncryptBytesENC and DecryptBytesENC methods are deprecated:
$unencryptedBytes = chilkat::CkByteData->new();
$unencryptedBytes->appendEncoded("AABBCCDDEEFF01020304","hex");
$decryptedBytes = chilkat::CkByteData->new();
$crypt->put_EncodingMode("hex");
$encryptedAsHex = $crypt->encryptBytesENC($unencryptedBytes);
print "Encrypted: " . $encryptedAsHex . "\r\n";
$success = $crypt->DecryptBytesENC($encryptedAsHex,$decryptedBytes);
# ------------------------------------------------------------------------
# Replace the above CkByteData usage with the following code:
# (Chilkat is moving away from using CkByteData)
$bd = chilkat::CkBinData->new();
$bd->AppendEncoded("AABBCCDDEEFF01020304","hex");
# in-place encrypt, then get as hex.
$crypt->EncryptBd($bd);
$encryptedAsHex = $bd->getEncoded("hex");
print "Encrypted: " . $encryptedAsHex . "\r\n";
# load from hex, then decrypt.
$bd2 = chilkat::CkBinData->new();
$bd2->AppendEncoded($encryptedAsHex,"hex");
$crypt->DecryptBd($bd2);
print "Decrypted: " . $bd2->getEncoded("hex") . "\r\n";