Sample code for 30+ languages & platforms
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

C++
#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!
    }