Sample code for 30+ languages & platforms
Objective-C

PBKDF2 Key Derivation

Demonstrates AES secret key derivation from a password using PBDKF2.

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];

NSString *password = @"correcthorsebatterystaple";

// Derive from the utf-8 byte representation of the password.
NSString *charset = @"utf-8";

NSString *hashAlg = @"sha256";

crypt.EncodingMode = @"hex";
NSString *saltHex = [crypt GenRandomBytesENC: [NSNumber numberWithInt: 16]];

int iterationCount = 310000;

// Derive a 256-bit key from the password.
int outputBitLen = 256;

// The derived key is returned as a hex or base64 encoded string.
// (Note: The salt argument must be a string that also uses
// the same encoding.)
NSString *enc = @"hex";

NSString *hexKey = [crypt Pbkdf2: password charset: charset hashAlg: hashAlg salt: saltHex iterationCount: [NSNumber numberWithInt: iterationCount] outputKeyBitLen: [NSNumber numberWithInt: outputBitLen] encoding: enc];

NSLog(@"%@",hexKey);

// Sample output:
// 597734C894FF89CFD3B93D925462C24E97724BCB118F6FC919007F5ABC27E768