C++
C++
Workaround for the deprecated EncryptBytes and DecryptBytes methods
Shows how to replace the deprecated DecryptBytes method. (Chilkat is moving away from the use of CkByteData.)Chilkat C++ Downloads
#include <CkCrypt2.h>
#include <CkByteData.h>
#include <CkBinData.h>
void ChilkatSample(void)
{
bool success = false;
CkCrypt2 crypt;
crypt.put_CryptAlgorithm("aes");
crypt.put_CipherMode("cbc");
crypt.put_KeyLength(128);
crypt.put_PaddingScheme(0);
crypt.SetEncodedKey("000102030405060708090A0B0C0D0E0F","hex");
crypt.SetEncodedIV("000102030405060708090A0B0C0D0E0F","hex");
crypt.put_EncodingMode("base64");
success = false;
// ------------------------------------------------------------------------
// The EncryptBytes and DecryptBytes methods are deprecated and will eventually be removed.
CkByteData unencryptedBytes;
unencryptedBytes.appendEncoded("AABBCCDDEEFF01020304","hex");
CkByteData encryptedBytes;
CkByteData decryptedBytes;
success = crypt.EncryptBytes(unencryptedBytes,encryptedBytes);
success = crypt.DecryptBytes(encryptedBytes,decryptedBytes);
// ------------------------------------------------------------------------
// Replace the above CkByteData usage with the following code:
// (Chilkat is moving away from using CkByteData)
CkBinData bd;
bd.AppendEncoded("AABBCCDDEEFF01020304","hex");
// in-place encrypt
crypt.EncryptBd(bd);
std::cout << "Encrypted: " << bd.getEncoded("hex") << "\r\n";
// in-place decrypt
crypt.DecryptBd(bd);
std::cout << "Decrypted: " << bd.getEncoded("hex") << "\r\n";
}