Cocoaプログラム中でMD5値を計算する際には、CC_MD5という関数を使うことができます。Apple社で開発されたものですが、OpenSSLのMD5関数と互換になるように作られていて、以下のように簡単に使うことができます。
#import <CommonCrypto/CommonDigest.h>             // CC_MD5 の宣言が含まれているヘッダファイル

NSString *testString = @"Test";                   // md5を計算したい文字列
const char *test_cstr = [testString UTF8String];  // C言語の文字列を取得する
unsigned char md5_result[CC_MD5_DIGEST_LENGTH];   // MD5の計算結果を保持する領域
CC_MD5(test_cstr, strlen(test_cstr), md5_result); // MD5の計算を実行する
MD5のハッシュ値を16進数で表現した文字列にする場合は、NSStringのstringWithFormat:メソッドが使えます。
NSString *hex_str = [NSString stringWithFormat: @"%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X",    md5_result[0], md5_result[1],
md5_result[2], md5_result[3],
md5_result[4], md5_result[5],
md5_result[6], md5_result[7],
md5_result[8], md5_result[9],
md5_result[10], md5_result[11],
md5_result[12], md5_result[13],
md5_result[14], md5_result[15]];

NSLog(hex_str);
16進数表現の文字列が正しいかどうか、PerlのDigest::MD5モジュールの結果と比較して調べました。
perl -MDigest::MD5=md5_hex -le 'print md5_hex("Test")'