Sample code for 30+ languages & platforms
Objective-C

2-Key Triple DES (112 bits)

See more Encryption Examples

Demonstrates 2-Key Triple DES encryption (112-bit 3DES encryption).

Chilkat Objective-C Downloads

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

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

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

//  Specify 3DES for the encryption algorithm:
crypt.CryptAlgorithm = @"3des";

crypt.CipherMode = @"ecb";

//  For 2-Key Triple-DES, use a key length of 128
//  (Given that each byte's msb is a parity bit, the strength is really 112 bits).
crypt.KeyLength = [NSNumber numberWithInt:128];

//  Pad with zeros
crypt.PaddingScheme = [NSNumber numberWithInt:3];

//  EncodingMode specifies the encoding of the output for
//  encryption, and the input for decryption.
//  It may be "hex", "url", "base64", or "quoted-printable".
crypt.EncodingMode = @"hex";

//  Let's create a secret key by using the MD5 hash of a password.
//  The Digest-MD5 algorithm produces a 16-byte hash (i.e. 128 bits)
crypt.HashAlgorithm = @"md5";
NSString *keyHex = [crypt HashStringENC: @"secretPassword"];

//  Set the encryption key:
[crypt SetEncodedKey: keyHex encoding: @"hex"];

//  Encrypt
NSString *encStr = [crypt EncryptStringENC: @"The quick brown fox jumped over the lazy dog"];
NSLog(@"%@",encStr);

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