Tuesday, July 22, 2008

MD5 hash on iPhone with cocoa and Objective-C

In beta 7 OpenSSL has been removed from the iPhone SDK. However, MD5 is still available.

Simply import CommonCrypto as follows:
#import < CommonCrypto/CommonDigest.h >

Then add this C function to your objective-c class between the @implementation and @end statements (if you like).

NSString* md5( NSString *str )
{
const char *cStr = [str UTF8String];
unsigned char result[CC_MD5_DIGEST_LENGTH];
CC_MD5( cStr, strlen(cStr), result );
return [NSString stringWithFormat:
@"%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X",
result[0], result[1], result[2], result[3], result[4], result[5], result[6], result[7],
result[8], result[9], result[10], result[11], result[12], result[13], result[14], result[15]
];
}


I am sure you can just use NSData for this but this is the way an example was posted on apple forums. Please feel free to add an NSData based solution.

Read the post here "http://discussions.apple.com/thread.jspa?threadID=1509152&tstart=96"

Labels:

0 Comments:

Post a Comment

<< Home