C
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
#include <C_CkStringBuilder.h>
#include <C_CkCrypt2.h>
void ChilkatSample(void)
{
HCkStringBuilder sb;
HCkCrypt2 crypt;
const char *ivHex;
const char *keyHex;
const char *encStr;
const char *decStr;
// Note: Requires Chilkat v9.5.0.65 or greater.
sb = CkStringBuilder_Create();
CkStringBuilder_Append(sb,"The 5 men of 223rd St");
printf("%s\n",CkStringBuilder_getAsString(sb));
// Encode the utf-8 byte representation of the string in the
// UN/EDIFACT syntax level A character set.
CkStringBuilder_Encode(sb,"eda","utf-8");
printf("%s\n",CkStringBuilder_getAsString(sb));
// EDA Output should be: BTME027FCF6CFARFI94JT6.)F(14KJ2U
// Decode back to the original string.
CkStringBuilder_Decode(sb,"eda","utf-8");
printf("%s\n",CkStringBuilder_getAsString(sb));
printf("----\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
crypt = CkCrypt2_Create();
CkCrypt2_putCryptAlgorithm(crypt,"aes");
CkCrypt2_putCipherMode(crypt,"cbc");
CkCrypt2_putKeyLength(crypt,256);
CkCrypt2_putEncodingMode(crypt,"eda");
ivHex = "000102030405060708090A0B0C0D0E0F";
CkCrypt2_SetEncodedIV(crypt,ivHex,"hex");
keyHex = "000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F";
CkCrypt2_SetEncodedKey(crypt,keyHex,"hex");
encStr = CkCrypt2_encryptStringENC(crypt,"The quick brown fox jumps over the lazy dog.");
// The output is UN/EDIFACT syntax level A
printf("%s\n",encStr);
// Now decrypt:
decStr = CkCrypt2_decryptStringENC(crypt,encStr);
printf("%s\n",decStr);
CkStringBuilder_Dispose(sb);
CkCrypt2_Dispose(crypt);
}