C++
C++
Workaround for the deprecated EncryptString and DecryptString methods
Shows how to replace the deprecated EncryptString and DecryptString methods. (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");
success = false;
crypt.put_Charset("utf-8");
const char *plainText = "text to be encrypted";
// ------------------------------------------------------------------------
// The EncryptString and DecryptString methods are deprecated:
CkByteData encryptedBytes;
success = crypt.EncryptString(plainText,encryptedBytes);
const char *decryptedStr = crypt.decryptString(encryptedBytes);
std::cout << "Decrypted: " << decryptedStr << "\r\n";
// ------------------------------------------------------------------------
// Replace the above CkByteData usage with the following code:
// (Chilkat is moving away from using CkByteData)
CkBinData bd;
bd.AppendString(plainText,"utf-8");
// in-place encrypt
crypt.EncryptBd(bd);
// in-place decrypt
crypt.DecryptBd(bd);
decryptedStr = bd.getString("utf-8");
std::cout << "Decrypted: " << decryptedStr << "\r\n";
}