Sample code for 30+ languages & platforms
DataFlex

AES OFB Output Feedback Mode Encryption

See more Encryption Examples

Demonstrates how to encrypt using AES OFB (Output Feedback) mode.

Chilkat DataFlex Downloads

DataFlex
Use ChilkatAx-win32.pkg

Procedure Test
    Handle hoCrypt
    String sIvHex
    String sKeyHex
    String sEncStr
    Handle hoDecrypt
    String sDecStr

    // This example 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 the cipher mode to Output Feedback
    Set ComCipherMode Of hoCrypt To "ofb"
    Set ComKeyLength Of hoCrypt To 256

    // EncodingMode specifies the encoding of the output for
    // encryption, and the input for decryption.
    // It may be "hex", "url", "base64", "quoted-printable", or many other choices.
    Set ComEncodingMode Of hoCrypt To "hex"

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

    // The secret key must equal the size of the key.  For
    // 256-bit encryption, the binary secret key is 32 bytes.
    Move "603deb1015ca71be2b73aef0857d77811f352c073b6108d72d9810a30914dff4" To sKeyHex
    Send ComSetEncodedKey To hoCrypt sKeyHex "hex"

    // Encrypt a string...
    Get ComEncryptStringENC Of hoCrypt "Popular opinions, on subjects not palpable to sense, are often true, but seldom or never the whole truth. -- John Stuart Mill" To sEncStr
    Showln sEncStr

    Get Create (RefClass(cComChilkatCrypt2)) To hoDecrypt
    If (Not(IsComObjectCreated(hoDecrypt))) Begin
        Send CreateComObject of hoDecrypt
    End
    Set ComCryptAlgorithm Of hoDecrypt To "aes"
    Set ComCipherMode Of hoDecrypt To "ofb"
    Set ComKeyLength Of hoDecrypt To 256
    Set ComEncodingMode Of hoDecrypt To "hex"
    Send ComSetEncodedIV To hoDecrypt sIvHex "hex"
    Send ComSetEncodedKey To hoDecrypt sKeyHex "hex"

    // Now decrypt:
    Get ComDecryptStringENC Of hoDecrypt sEncStr To sDecStr
    Showln sDecStr


End_Procedure