DataFlex
DataFlex
Encrypt / Decrypt Secure Strings
See more Encryption Examples
Demonstrates how to use the EncryptSecureENC and DecryptSecureENC methods to encrypt/decrypt secure strings. These methods were added in Chilkat v9.5.0.71 (released January 2018).Chilkat DataFlex Downloads
Use ChilkatAx-win32.pkg
Procedure Test
Boolean iSuccess
Variant vSecStr1
Handle hoSecStr1
Handle hoCrypt
String sEncryptedStr
Variant vSecStr2
Handle hoSecStr2
String sTemp1
Move False To iSuccess
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
// Load the secure string with some text.
Get Create (RefClass(cComChilkatSecureString)) To hoSecStr1
If (Not(IsComObjectCreated(hoSecStr1))) Begin
Send CreateComObject of hoSecStr1
End
Get ComLoadFile Of hoSecStr1 "qa_data/txt/helloWorld.txt" "utf-8" To iSuccess
If (iSuccess <> True) Begin
Showln "Failed to load helloWorld.txt"
Procedure_Return
End
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 128
Send ComSetEncodedKey To hoCrypt "000102030405060708090A0B0C0D0E0F" "hex"
Send ComSetEncodedIV To hoCrypt "000102030405060708090A0B0C0D0E0F" "hex"
Set ComEncodingMode Of hoCrypt To "base64"
// Return the base64 encoded encrypted contents of secStr1.
Get pvComObject of hoSecStr1 to vSecStr1
Get ComEncryptSecureENC Of hoCrypt vSecStr1 To sEncryptedStr
Showln "Encrypted string: " sEncryptedStr
// Output:
// Encrypted string: qiq+IFhcjTkEIkZyf31V/g==
// Decrypt to secStr2:
Get Create (RefClass(cComChilkatSecureString)) To hoSecStr2
If (Not(IsComObjectCreated(hoSecStr2))) Begin
Send CreateComObject of hoSecStr2
End
Get pvComObject of hoSecStr2 to vSecStr2
Get ComDecryptSecureENC Of hoCrypt sEncryptedStr vSecStr2 To iSuccess
// Access the contents of secStr2
Get ComAccess Of hoSecStr2 To sTemp1
Showln "Decrypted string: " sTemp1
// Output:
// Decrypted string: Hello World!
End_Procedure