Sample code for 30+ languages & platforms
C++

UN/EDIFACT Syntax Level A Encoding/Decoding

See more Encryption Examples

Demonstrates the new "eda" encoding that can be used throughout Chilkat starting in v9.5.0.65.

Chilkat C++ Downloads

C++
#include <CkStringBuilder.h>
#include <CkCrypt2.h>

void ChilkatSample(void)
    {
    // Note: Requires Chilkat v9.5.0.65 or greater.

    CkStringBuilder sb;
    sb.Append("The 5 men of 223rd St");
    std::cout << sb.getAsString() << "\r\n";

    // Encode the utf-8 byte representation of the string in the 
    // UN/EDIFACT syntax level A character set.
    sb.Encode("eda","utf-8");
    std::cout << sb.getAsString() << "\r\n";

    // EDA Output should be: BTME027FCF6CFARFI94JT6.)F(14KJ2U

    // Decode back to the original string.
    sb.Decode("eda","utf-8");
    std::cout << sb.getAsString() << "\r\n";
    std::cout << "----" << "\r\n";

    // The following requires the Chilkat API to have been previously unlocked.
    // See Global Unlock Sample for sample code.

    // The "eda" encoding can be used anywhere within Chilkat.
    // For example, with the Crypt2 API
    CkCrypt2 crypt;
    crypt.put_CryptAlgorithm("aes");
    crypt.put_CipherMode("cbc");
    crypt.put_KeyLength(256);
    crypt.put_EncodingMode("eda");

    const char *ivHex = "000102030405060708090A0B0C0D0E0F";
    crypt.SetEncodedIV(ivHex,"hex");
    const char *keyHex = "000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F";
    crypt.SetEncodedKey(keyHex,"hex");

    const char *encStr = crypt.encryptStringENC("The quick brown fox jumps over the lazy dog.");
    // The output is UN/EDIFACT syntax level A 
    std::cout << encStr << "\r\n";

    // Now decrypt:
    const char *decStr = crypt.decryptStringENC(encStr);
    std::cout << decStr << "\r\n";
    }