iOS GlobalTool

//md5加密方式一
+(NSString*)md5Str:(NSString *)str
{
    const char* myPasswordd = str.UTF8String;
    unsigned char md5c[16];
    CC_MD5(myPasswordd, (CC_LONG)strlen(myPasswordd), md5c);
    NSMutableString *md5Str = [NSMutableString string];
    for(int i =0; i<16; i++) {
        [md5Str appendFormat:@"%02x",md5c[i]];
    }
    return [md5Str uppercaseString];//uppercaseString 大写  lowercaseString小写
}

//md5加密方式二
+(NSString*)md532BitUpperStr:(NSString *)str
{
    const char *cStr = [str UTF8String];
    unsigned char result[16];
    NSNumber *num = [NSNumber numberWithUnsignedLong:strlen(cStr)];
    CC_MD5( cStr,[num intValue], result );
    
    return [[NSString stringWithFormat:
             @"%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X",
             result[0], result[1], result[2], result[3],
             result[4], result[5], result[6], result[7],
             result[8], result[9], result[10], result[11],
             result[12], result[13], result[14], result[15]
             ] uppercaseString];
    //uppercaseString 大写  lowercaseString小写
}
Md5加密
/** 对字典(Key-Value)排序
 @param dict 要排序的字典
 */
+(NSString *)sortedDictionary:(NSMutableDictionary *)dict{
    NSMutableString *contentString =[NSMutableString string];
    NSArray *keys = [dict allKeys];
    //排序
    NSArray *sortedArray = [keys sortedArrayUsingComparator:^NSComparisonResult(id obj1, id obj2) {
        return [obj1 compare:obj2];
    }];
    //拼接 把排序后的字典拼接成string
    NSMutableArray* keysArr = [[NSMutableArray alloc] init];
    NSMutableArray* objectsArr = [[NSMutableArray alloc] init];
    for (NSString *keyStr in sortedArray) {
        if (![[dict objectForKey:keyStr] isEqualToString:@""] && ![[dict objectForKey:keyStr] isEqualToString:@"key"] ){
            [contentString appendFormat:@"%@=%@&", keyStr, [dict objectForKey:keyStr]];
            [keysArr addObject:keyStr];
            [objectsArr addObject:[dict objectForKey:keyStr]];
        }
    }
    contentString = (NSMutableString *)[contentString substringToIndex:contentString.length-1];
    NSLog(@"contentString=%@", contentString);
    return contentString;//排序后拼接的key=value字符串
}
字典ASCII排序
/**
 * 按顺序拼接json串
 * methodName  方法名
 * keys        key的数组
 * objects     object的数组
 */
+(NSString *)orderJsonStringWithkeys:(NSArray *)keys andObjects:(NSArray *)objects{
    NSMutableString *mutableString = [NSMutableString string];
    [mutableString appendString:@"{"];
    if (keys.count > 0) {
        for (NSInteger i = 0; i < keys.count; i++) {
            if (i == keys.count-1) {
                [mutableString appendFormat:@"\"%@\":\"%@\"", keys[i], objects[i]];
            } else {
                [mutableString appendFormat:@"\"%@\":\"%@\",", keys[i], objects[i]];
            }
        }
    }
    [mutableString appendString:@"}"];
    NSString *orderJsonString = [NSString stringWithString:mutableString];
    return orderJsonString;
}
字典->数组- > 有序json串
//字典转JSON
+(NSString *)convertJSONWithDic:(NSDictionary *)dic {
    NSError *err;
    NSData *data = [NSJSONSerialization dataWithJSONObject:dic options:NSJSONWritingPrettyPrinted error:&err];
    if (err) {
        return @"字典转JSON出错";
    }
    return [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
}

//JSON转字典
+(NSDictionary *)convertDicWithJSON:(NSString *)jsonStr {
    if (jsonStr.length == 0) {
        return nil;
    }
    NSError *err;
    NSData *jsondata = [jsonStr dataUsingEncoding:NSUTF8StringEncoding];
    NSDictionary *dic = [NSJSONSerialization JSONObjectWithData:jsondata options:NSJSONReadingMutableContainers error:&err];
    if (err) {
        return nil;
    }
    return dic;
}
dictionary与json互转

 

转载于:https://www.cnblogs.com/kingstudy/p/11489848.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值