DataFlex
DataFlex
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 DataFlex Downloads
Use ChilkatAx-win32.pkg
Procedure Test
Handle hoSb
Boolean iSuccess
Handle hoCrypt
String sIvHex
String sKeyHex
String sEncStr
String sDecStr
String sTemp1
// Note: Requires Chilkat v9.5.0.65 or greater.
Get Create (RefClass(cComChilkatStringBuilder)) To hoSb
If (Not(IsComObjectCreated(hoSb))) Begin
Send CreateComObject of hoSb
End
Get ComAppend Of hoSb "The 5 men of 223rd St" To iSuccess
Get ComGetAsString Of hoSb To sTemp1
Showln sTemp1
// Encode the utf-8 byte representation of the string in the
// UN/EDIFACT syntax level A character set.
Get ComEncode Of hoSb "eda" "utf-8" To iSuccess
Get ComGetAsString Of hoSb To sTemp1
Showln sTemp1
// EDA Output should be: BTME027FCF6CFARFI94JT6.)F(14KJ2U
// Decode back to the original string.
Get ComDecode Of hoSb "eda" "utf-8" To iSuccess
Get ComGetAsString Of hoSb To sTemp1
Showln sTemp1
Showln "----"
// 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
Get Create (RefClass(cComChilkatCrypt2)) To hoCrypt
If (Not(IsComObjectCreated(hoCrypt))) Begin
Send CreateComObject of hoCrypt
End
Set ComCryptAlgorithm Of hoCrypt To "aes"
Set ComCipherMode Of hoCrypt To "cbc"
Set ComKeyLength Of hoCrypt To 256
Set ComEncodingMode Of hoCrypt To "eda"
Move "000102030405060708090A0B0C0D0E0F" To sIvHex
Send ComSetEncodedIV To hoCrypt sIvHex "hex"
Move "000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F" To sKeyHex
Send ComSetEncodedKey To hoCrypt sKeyHex "hex"
Get ComEncryptStringENC Of hoCrypt "The quick brown fox jumps over the lazy dog." To sEncStr
// The output is UN/EDIFACT syntax level A
Showln sEncStr
// Now decrypt:
Get ComDecryptStringENC Of hoCrypt sEncStr To sDecStr
Showln sDecStr
End_Procedure