Sample code for 30+ languages & platforms
Objective-C

Twofish OFB Output Feedback Mode Encryption

See more Encryption Examples

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

Chilkat Objective-C Downloads

Objective-C
#import <CkoCrypt2.h>
#import <NSString.h>

// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.

CkoCrypt2 *crypt = [[CkoCrypt2 alloc] init];

crypt.CryptAlgorithm = @"twofish";
// Set the cipher mode to Output Feedback
crypt.CipherMode = @"ofb";
crypt.KeyLength = [NSNumber numberWithInt: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";

NSString *ivHex = @"000102030405060708090A0B0C0D0E0F";
[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.
NSString *keyHex = @"603deb1015ca71be2b73aef0857d77811f352c073b6108d72d9810a30914dff4";
[crypt SetEncodedKey: keyHex encoding: @"hex"];

// Encrypt a string...
NSString *encStr = [crypt EncryptStringENC: @"Without music to decorate it, time is just a bunch of boring production deadlines or dates by which bills must be paid. -- Frank Zappa"];
NSLog(@"%@",encStr);

CkoCrypt2 *decrypt = [[CkoCrypt2 alloc] init];
decrypt.CryptAlgorithm = @"twofish";
decrypt.CipherMode = @"ofb";
decrypt.KeyLength = [NSNumber numberWithInt:256];
decrypt.EncodingMode = @"hex";
[decrypt SetEncodedIV: ivHex encoding: @"hex"];
[decrypt SetEncodedKey: keyHex encoding: @"hex"];

// Now decrypt:
NSString *decStr = [decrypt DecryptStringENC: encStr];
NSLog(@"%@",decStr);