Sample code for 30+ languages & platforms
Objective-C

WPA Key Calculation from PassPhrase to Hex

See more Encryption Examples

Demonstrates how to calculate a WPA key from a passprhase and network SSID.

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 *wpaHexKey = 0;

// The "ps" is the WPA passphrase
NSString *pw = @"password";
NSString *pwCharset = @"ansi";

// Hash algorithms may be: sha1, md2, md5, etc.
NSString *hashAlg = @"sha1";

// Specify the SSID in hex:
// For example, if the SSID is "ABC", then the 
// hex values for these us-ascii chars is "414243"
NSString *ssidHex = @"414243";

// The WPA key calculation will always use 4096 iterations.
int iterationCount = 4096;

// The WPA hex output should be 256 bits.
int outputBitLen = 256;

// Indicate that "hex" is to be returned.
NSString *enc = @"hex";

wpaHexKey = [crypt Pbkdf2: pw charset: pwCharset hashAlg: hashAlg salt: ssidHex iterationCount: [NSNumber numberWithInt: iterationCount] outputKeyBitLen: [NSNumber numberWithInt: outputBitLen] encoding: enc];

NSLog(@"%@",wpaHexKey);