api_sign
来源:互联网 发布:组织架构及营销网络 编辑:程序博客网 时间:2024/06/05 14:55
+ (NSMutableDictionary *)signString:(NSDictionary *)paramters
{
NSSortDescriptor *descriptor = [NSSortDescriptor sortDescriptorWithKey:nil ascending:YES];
NSArray *sortedKeys = [[paramters allKeys] sortedArrayUsingDescriptors:[NSArray arrayWithObjects:descriptor, nil]];
NSMutableString *signString = [NSMutableString stringWithString:@""];
for (NSString *key in sortedKeys) {
NSString *value = [paramters objectForKey:key];
[signString appendFormat:@"%@", value];
}
//[signString appendString:API_KEY];
NSString* api_sign = [signString md5HexDigest];
NSMutableDictionary* mutableDic = [NSMutableDictionary dictionaryWithDictionary:paramters];
[mutableDic setObject:api_sign forKey:@"api_sign"];
return mutableDic;
}
- (NSString *)md5HexDigest
{
const char *original_str = [self UTF8String];
unsigned char result[16];
CC_MD5(original_str, strlen(original_str), result);
NSMutableString *hash = [NSMutableString string];
for (int i = 0; i < 16; i++) {
[hash appendFormat:@"%02X", result[i]];
}
return [hash lowercaseString];
}
0 0