因此,你们中的许多人可能已经知道,iPhone开发工具包中不再包含CommonCrypto (和3.0版本一样)。
我还可以在哪里轻松地获得MD5函数?为了获得MD5,我必须将OpenSSL编译到我的项目中吗?
以下是几点说明:
这不是为了安全,这将与需要字符串的MD5摘要的API一起使用。我无法控制此接口。
如果我可以使用SHA256,我会的。我完全支持继续前进,但我不能改变API。
编辑
看起来我弄错了。CommonCrypto仍然在iPhone开发工具包中,只是不像以前那样明确了。我正在寻找要包含在我的项目中的libCrypto库。我不知道您可以在不链接到库的情况下包含CommonCrypto头文件……
发布于 2009-12-04 23:02:19
你确定它不包括在内吗?我已经在设备上使用以下代码编译了3.0版的应用程序:
#import <CommonCrypto/CommonDigest.h>
#define CC_MD5_DIGEST_LENGTH 16 /* digest length in bytes */
- (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]];
}
https://stackoverflow.com/questions/1847281
复制相似问题