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

DataFlex
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