Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Swift 3,4,5...) Blowfish OFB Output Feedback Mode EncryptionDemonstrates how to encrypt using Blowfish OFB (Output Feedback) mode.
func chilkatTest() { // This example assumes the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. let crypt = CkoCrypt2()! // Use "blowfish2" to produce correct results that match published blowfish test vectors. crypt.cryptAlgorithm = "blowfish2" // Set the cipher mode to Output Feedback crypt.cipherMode = "ofb" 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("Emergencies have always been the pretext on which the safeguards of individual liberty have been eroded. -- Friedrich Hayek") print("\(encStr!)") let decrypt = CkoCrypt2()! decrypt.cryptAlgorithm = "blowfish2" decrypt.cipherMode = "ofb" 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-2024 Chilkat Software, Inc. All Rights Reserved.