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 Tcl Unicode C Unicode C++ Visual Basic 6.0 VB.NET VB.NET UWP/WinRT VBScript Xojo Plugin Node.js Excel Go
(Swift 3/4) Blowfish CFB Mode EncryptionDemonstrates how to encrypt using Blowfish CFB (Cipher Feedback) mode.
func chilkatTest() { let crypt = CkoCrypt2()! var success: Bool = crypt.unlockComponent("Anything for 30-day trial") if success != true { print("\(crypt.lastErrorText!)") return } // Use "blowfish2" to produce correct results that match published blowfish test vectors. crypt.cryptAlgorithm = "blowfish2" crypt.cipherMode = "cfb" crypt.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.encodingMode = "hex" // The block size of the blowfish algoirthm is 8 bytes, therefore the IV is 8 bytes. var ivHex: String? = "0001020304050607" crypt.setEncodedIV(ivHex, encoding: "hex") // The secret key must equal the size of the key. For // 256-bit encryption, the binary secret key is 32 bytes. var keyHex: String? = "603deb1015ca71be2b73aef0857d77811f352c073b6108d72d9810a30914dff4" crypt.setEncodedKey(keyHex, encoding: "hex") // Encrypt a string... var encStr: String? = 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") print("\(encStr!!)") let decrypt = CkoCrypt2()! decrypt.cryptAlgorithm = "blowfish2" decrypt.cipherMode = "cfb" decrypt.keyLength = 256 decrypt.encodingMode = "hex" decrypt.setEncodedIV(ivHex, encoding: "hex") decrypt.setEncodedKey(keyHex, encoding: "hex") // Now decrypt: var decStr: String? = decrypt.decryptStringENC(encStr) print("\(decStr!!)") } |
© 2000-2016 Chilkat Software, Inc. All Rights Reserved.