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 <CkSecureString.h>
#include <CkCrypt2.h>
void ChilkatSample(void)
{
bool 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.
CkSecureString secStr1;
success = secStr1.LoadFile("qa_data/txt/helloWorld.txt","utf-8");
if (success != true) {
std::cout << "Failed to load helloWorld.txt" << "\r\n";
return;
}
CkCrypt2 crypt;
crypt.put_CryptAlgorithm("aes");
crypt.put_CipherMode("cbc");
crypt.put_KeyLength(128);
crypt.SetEncodedKey("000102030405060708090A0B0C0D0E0F","hex");
crypt.SetEncodedIV("000102030405060708090A0B0C0D0E0F","hex");
crypt.put_EncodingMode("base64");
// Return the base64 encoded encrypted contents of secStr1.
const char *encryptedStr = crypt.encryptSecureENC(secStr1);
std::cout << "Encrypted string: " << encryptedStr << "\r\n";
// Output:
// Encrypted string: qiq+IFhcjTkEIkZyf31V/g==
// Decrypt to secStr2:
CkSecureString secStr2;
crypt.DecryptSecureENC(encryptedStr,secStr2);
// Access the contents of secStr2
std::cout << "Decrypted string: " << secStr2.access() << "\r\n";
// Output:
// Decrypted string: Hello World!
}