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

DataFlex
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