PureBasic
PureBasic
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 PureBasic Downloads
IncludeFile "CkStringBuilder.pb"
IncludeFile "CkCrypt2.pb"
Procedure ChilkatExample()
; Note: Requires Chilkat v9.5.0.65 or greater.
sb.i = CkStringBuilder::ckCreate()
If sb.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
CkStringBuilder::ckAppend(sb,"The 5 men of 223rd St")
Debug CkStringBuilder::ckGetAsString(sb)
; Encode the utf-8 byte representation of the string in the
; UN/EDIFACT syntax level A character set.
CkStringBuilder::ckEncode(sb,"eda","utf-8")
Debug CkStringBuilder::ckGetAsString(sb)
; EDA Output should be: BTME027FCF6CFARFI94JT6.)F(14KJ2U
; Decode back to the original string.
CkStringBuilder::ckDecode(sb,"eda","utf-8")
Debug CkStringBuilder::ckGetAsString(sb)
Debug "----"
; 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.i = CkCrypt2::ckCreate()
If crypt.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
CkCrypt2::setCkCryptAlgorithm(crypt, "aes")
CkCrypt2::setCkCipherMode(crypt, "cbc")
CkCrypt2::setCkKeyLength(crypt, 256)
CkCrypt2::setCkEncodingMode(crypt, "eda")
ivHex.s = "000102030405060708090A0B0C0D0E0F"
CkCrypt2::ckSetEncodedIV(crypt,ivHex,"hex")
keyHex.s = "000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F"
CkCrypt2::ckSetEncodedKey(crypt,keyHex,"hex")
encStr.s = CkCrypt2::ckEncryptStringENC(crypt,"The quick brown fox jumps over the lazy dog.")
; The output is UN/EDIFACT syntax level A
Debug encStr
; Now decrypt:
decStr.s = CkCrypt2::ckDecryptStringENC(crypt,encStr)
Debug decStr
CkStringBuilder::ckDispose(sb)
CkCrypt2::ckDispose(crypt)
ProcedureReturn
EndProcedure