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
原创粉丝点击