Chilkat HOME Android™ Classic ASP C C++ C# Mono C# .NET Core C# C# UWP/WinRT DataFlex Delphi ActiveX Delphi DLL Visual FoxPro Java Lianja MFC Objective-C Perl PHP ActiveX PHP Extension PowerBuilder PowerShell PureBasic CkPython Chilkat2-Python Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ Visual Basic 6.0 VB.NET VB.NET UWP/WinRT VBScript Xojo Plugin Node.js Excel Go
(MFC) Blowfish CFB Mode EncryptionDemonstrates how to encrypt using Blowfish CFB (Cipher Feedback) mode.
#include <CkCrypt2.h> void ChilkatSample(void) { CkString strOut; // This example assumes the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. CkCrypt2 crypt; // Use "blowfish2" to produce correct results that match published blowfish test vectors. crypt.put_CryptAlgorithm("blowfish2"); crypt.put_CipherMode("cfb"); crypt.put_KeyLength(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. crypt.put_EncodingMode("hex"); // The block size of the blowfish algoirthm is 8 bytes, therefore the IV is 8 bytes. const char *ivHex = "0001020304050607"; crypt.SetEncodedIV(ivHex,"hex"); // The secret key must equal the size of the key. For // 256-bit encryption, the binary secret key is 32 bytes. const char *keyHex = "603deb1015ca71be2b73aef0857d77811f352c073b6108d72d9810a30914dff4"; crypt.SetEncodedKey(keyHex,"hex"); // Encrypt a string... const char *encStr = crypt.encryptStringENC("In all intellectual debates, both sides tend to be correct in what they affirm, and wrong in what they deny. -- John Stuart Mill"); strOut.append(encStr); strOut.append("\r\n"); CkCrypt2 decrypt; decrypt.put_CryptAlgorithm("blowfish2"); decrypt.put_CipherMode("cfb"); decrypt.put_KeyLength(256); decrypt.put_EncodingMode("hex"); decrypt.SetEncodedIV(ivHex,"hex"); decrypt.SetEncodedKey(keyHex,"hex"); // Now decrypt: const char *decStr = decrypt.decryptStringENC(encStr); strOut.append(decStr); strOut.append("\r\n"); SetDlgItemText(IDC_EDIT1,strOut.getUnicode()); } |
© 2000-2022 Chilkat Software, Inc. All Rights Reserved.