Sample code for 30+ languages & platforms
DataFlex

Encrypt / Decrypt a File and Verify it has not Changed

See more Encryption Examples

Demonstrates how to encrypt and decrypt a file, and verify it has not changed.

Chilkat DataFlex Downloads

DataFlex
Use ChilkatAx-win32.pkg

Procedure Test
    Boolean iSuccess
    Handle hoCrypt
    String sIvHex
    String sKeyHex
    String sDataFile
    String sOutFile
    String sOutFile2
    Handle hoFac
    Boolean iBEqual

    Move False To iSuccess

    // This requires the Chilkat API to have been previously unlocked.
    // See Global Unlock Sample for sample code.

    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
    Set ComPaddingScheme Of hoCrypt To 0

    Move "000102030405060708090A0B0C0D0E0F" To sIvHex
    Send ComSetEncodedIV To hoCrypt sIvHex "hex"

    Move "00010203040506071011121314151617" To sKeyHex
    Send ComSetEncodedKey To hoCrypt sKeyHex "hex"

    Move "qa_data/zips/HBIQ040615300005.ZIP" To sDataFile
    Move "qa_output/HBIQ040615300005.enc" To sOutFile
    Move "qa_output/HBIQ040615300005.ZIP" To sOutFile2

    Get ComCkEncryptFile Of hoCrypt sDataFile sOutFile To iSuccess
    Get ComCkDecryptFile Of hoCrypt sOutFile sOutFile2 To iSuccess

    Get Create (RefClass(cComCkFileAccess)) To hoFac
    If (Not(IsComObjectCreated(hoFac))) Begin
        Send CreateComObject of hoFac
    End
    Get ComFileContentsEqual Of hoFac sDataFile sOutFile2 To iBEqual
    If (iBEqual <> True) Begin
        Showln "Decrypted file not equal to the original."
    End
    Else Begin
        Showln "Success."
    End



End_Procedure