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 <C_CkCrypt2.h>
#include <C_CkByteData.h>
#include <C_CkBinData.h>
void ChilkatSample(void)
{
BOOL success;
HCkCrypt2 crypt;
const char *plainText;
HCkByteData encryptedBytes;
const char *decryptedStr;
HCkBinData bd;
success = FALSE;
crypt = CkCrypt2_Create();
CkCrypt2_putCryptAlgorithm(crypt,"aes");
CkCrypt2_putCipherMode(crypt,"cbc");
CkCrypt2_putKeyLength(crypt,128);
CkCrypt2_putPaddingScheme(crypt,0);
CkCrypt2_SetEncodedKey(crypt,"000102030405060708090A0B0C0D0E0F","hex");
CkCrypt2_SetEncodedIV(crypt,"000102030405060708090A0B0C0D0E0F","hex");
success = FALSE;
CkCrypt2_putCharset(crypt,"utf-8");
plainText = "text to be encrypted";
// ------------------------------------------------------------------------
// The EncryptString and DecryptString methods are deprecated:
encryptedBytes = CkByteData_Create();
success = CkCrypt2_EncryptString(crypt,plainText,encryptedBytes);
decryptedStr = CkCrypt2_decryptString(crypt,encryptedBytes);
printf("Decrypted: %s\n",decryptedStr);
// ------------------------------------------------------------------------
// Replace the above CkByteData usage with the following code:
// (Chilkat is moving away from using CkByteData)
bd = CkBinData_Create();
CkBinData_AppendString(bd,plainText,"utf-8");
// in-place encrypt
CkCrypt2_EncryptBd(crypt,bd);
// in-place decrypt
CkCrypt2_DecryptBd(crypt,bd);
decryptedStr = CkBinData_getString(bd,"utf-8");
printf("Decrypted: %s\n",decryptedStr);
CkCrypt2_Dispose(crypt);
CkByteData_Dispose(encryptedBytes);
CkBinData_Dispose(bd);
}