Unicode C
Unicode 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 Unicode C Downloads
#include <C_CkSecureStringW.h>
#include <C_CkCrypt2W.h>
void ChilkatSample(void)
{
BOOL success;
HCkSecureStringW secStr1;
HCkCrypt2W crypt;
const wchar_t *encryptedStr;
HCkSecureStringW 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 = CkSecureStringW_Create();
success = CkSecureStringW_LoadFile(secStr1,L"qa_data/txt/helloWorld.txt",L"utf-8");
if (success != TRUE) {
wprintf(L"Failed to load helloWorld.txt\n");
CkSecureStringW_Dispose(secStr1);
return;
}
crypt = CkCrypt2W_Create();
CkCrypt2W_putCryptAlgorithm(crypt,L"aes");
CkCrypt2W_putCipherMode(crypt,L"cbc");
CkCrypt2W_putKeyLength(crypt,128);
CkCrypt2W_SetEncodedKey(crypt,L"000102030405060708090A0B0C0D0E0F",L"hex");
CkCrypt2W_SetEncodedIV(crypt,L"000102030405060708090A0B0C0D0E0F",L"hex");
CkCrypt2W_putEncodingMode(crypt,L"base64");
// Return the base64 encoded encrypted contents of secStr1.
encryptedStr = CkCrypt2W_encryptSecureENC(crypt,secStr1);
wprintf(L"Encrypted string: %s\n",encryptedStr);
// Output:
// Encrypted string: qiq+IFhcjTkEIkZyf31V/g==
// Decrypt to secStr2:
secStr2 = CkSecureStringW_Create();
CkCrypt2W_DecryptSecureENC(crypt,encryptedStr,secStr2);
// Access the contents of secStr2
wprintf(L"Decrypted string: %s\n",CkSecureStringW_access(secStr2));
// Output:
// Decrypted string: Hello World!
CkSecureStringW_Dispose(secStr1);
CkCrypt2W_Dispose(crypt);
CkSecureStringW_Dispose(secStr2);
}