DataFlex
DataFlex
Blowfish OFB Output Feedback Mode Encryption
See more Encryption Examples
Demonstrates how to encrypt using Blowfish OFB (Output Feedback) mode.Chilkat DataFlex Downloads
Use ChilkatAx-win32.pkg
Procedure Test
Handle hoCrypt
String sIvHex
String sKeyHex
String sEncStr
Handle hoDecrypt
String sDecStr
// This example assumes 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
// Use "blowfish2" to produce correct results that match published blowfish test vectors.
Set ComCryptAlgorithm Of hoCrypt To "blowfish2"
// 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"
// The block size of the blowfish algoirthm is 8 bytes, therefore the IV is 8 bytes.
Move "0001020304050607" 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 "Emergencies have always been the pretext on which the safeguards of individual liberty have been eroded. -- Friedrich Hayek" 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 "blowfish2"
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