我使用此代码获取 md5 字符串哈希
- (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;
}
当我这样做时,它工作得很好
[self md5:@"mystring"];
但是当我做这个时
[self md5:userId];
我有一个错误
由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“-[NSDecimalNumber UTF8String]:无法识别的选择器已发送到实例 0x61a7080”
userId 是一个 NSString
NSString *userId; @property(retain,nonatomic) NSString *userId;
但它包含 facebook 用户 id,比如我试过的“3309843”
[self md5:[userId stringValue]]];
我仍然有同样的错误
更新 我试过这个
[self md5:@"980232376"];
并且仍然有同样的错误,我认为问题是方法 md5。我不能得到一串数字的 md5 吗?