我想将短字符串转换为md5哈希,我发现有几篇文章关于它,但没有人工作。 这是我找到的最简单的例子。我有这个错误“隐式函数声明”错误Objective-C
功能CC_MD5的隐含声明是无效的C99
- (NSString *) md5:(NSString *) input
{
const char *cStr = [input UTF8String];
unsigned char digest[16];
CC_MD5(cStr, strlen(cStr), digest); // This is the md5 call
NSMutableString *output = [NSMutableString stringWithCapacity:CC_MD5_DIGEST_LENGTH * 2];
for(int i = 0; i < CC_MD5_DIGEST_LENGTH; i++)
[output appendFormat:@"%02x", digest[i]];
return output;
}
UPDATE 我添加#进口,它的工作很好,当我调用的方法是这样的:
[self md5:@"admin"];
,我得到正确的MD5散列。但是,当我这样做
[self md5:userId];
我得到一个错误,
[NSDecimalNumber UTF8字符串]:无法识别的选择发送到实例 0x4d3e280 但用户id是不是小数,他包含Facebook的ID,但它的声明作为的NSString
NSString *userId;
@property(retain,nonatomic) NSString *userId;
我想你可能是指`` –
2011-12-13 23:23:56
它仍然有效。但是如果你想给出完整的位置,那么就像SO的一半提到了 –
2011-12-13 23:26:14