C
C
Encrypt / Decrypt Secure Strings
See more Encryption Examples
Demonstrates how to use the EncryptSecureENC and DecryptSecureENC methods to encrypt/decrypt secure strings. These methods were added in Chilkat v9.5.0.71 (released January 2018).Chilkat C Downloads
#include <C_CkSecureString.h>
#include <C_CkCrypt2.h>
void ChilkatSample(void)
{
BOOL success;
HCkSecureString secStr1;
HCkCrypt2 crypt;
const char *encryptedStr;
HCkSecureString secStr2;
success = FALSE;
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
// Load the secure string with some text.
secStr1 = CkSecureString_Create();
success = CkSecureString_LoadFile(secStr1,"qa_data/txt/helloWorld.txt","utf-8");
if (success != TRUE) {
printf("Failed to load helloWorld.txt\n");
CkSecureString_Dispose(secStr1);
return;
}
crypt = CkCrypt2_Create();
CkCrypt2_putCryptAlgorithm(crypt,"aes");
CkCrypt2_putCipherMode(crypt,"cbc");
CkCrypt2_putKeyLength(crypt,128);
CkCrypt2_SetEncodedKey(crypt,"000102030405060708090A0B0C0D0E0F","hex");
CkCrypt2_SetEncodedIV(crypt,"000102030405060708090A0B0C0D0E0F","hex");
CkCrypt2_putEncodingMode(crypt,"base64");
// Return the base64 encoded encrypted contents of secStr1.
encryptedStr = CkCrypt2_encryptSecureENC(crypt,secStr1);
printf("Encrypted string: %s\n",encryptedStr);
// Output:
// Encrypted string: qiq+IFhcjTkEIkZyf31V/g==
// Decrypt to secStr2:
secStr2 = CkSecureString_Create();
CkCrypt2_DecryptSecureENC(crypt,encryptedStr,secStr2);
// Access the contents of secStr2
printf("Decrypted string: %s\n",CkSecureString_access(secStr2));
// Output:
// Decrypted string: Hello World!
CkSecureString_Dispose(secStr1);
CkCrypt2_Dispose(crypt);
CkSecureString_Dispose(secStr2);
}