Я использую этот код, чтобы получить хэш строки 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, что-то вроде "3309843", я пытался
[self md5:[userId stringValue]]];
, и у меня все еще та же ошибка
ОБНОВЛЕНИЕ Я попробовал это
[self md5:@"980232376"];
и все еще с той же ошибкой, я думаю, что проблема заключается в методе md5.Я не могу получить md5 из строки чисел?