zoukankan      html  css  js  c++  java
  • 把字典的key value 拼接成字符串加上签名加密

    - (NSString *)getSianKeyWithDic:(NSDictionary *)dic

    {

        //按字典排序

        NSArray* arr = [dic allKeys];

        arr = [arr sortedArrayUsingComparator:^NSComparisonResult(id obj1, id obj2){

            NSComparisonResult result = [obj1 compare:obj2];

            return result==NSOrderedDescending;

            

        }];

        //拼接字符串

        NSMutableArray * strArray =[[NSMutableArray alloc]init];

        [arr enumerateObjectsUsingBlock:^(id  obj, NSUInteger idx, BOOL * _Nonnull stop) {

            NSString *appendStr = [[NSString alloc] init];

            appendStr = obj;

            NSString *par = dic[obj];

            

            if (dic[obj]!=NULL) {

                appendStr = [appendStr stringByAppendingString:par];

                [strArray addObject:appendStr];

            }

        }];

        NSString * str = [strArray componentsJoinedByString:@""];

        

        NSString *sianStr = [NSString stringWithFormat:@"%@signKey",str];

        NSLog(@"+++%@",sianStr);

        //加密

        NSString *md5Str =[self getMd5_32Bit_String:sianStr];

        NSLog(@"%@",md5Str);

        return md5Str;

    }

    //32位MD5加密方式

    - (NSString *)getMd5_32Bit_String:(NSString *)srcString

    {

        const char *cStr = [srcString UTF8String];

        unsigned char digest[CC_MD5_DIGEST_LENGTH];

      

        NSMutableString *result = [NSMutableString stringWithCapacity:CC_MD5_DIGEST_LENGTH * 2];

        for(int i = 0; i < CC_MD5_DIGEST_LENGTH; i++)

            [result appendFormat:@"%02x", digest[i]];

        

        return result;

    }

  • 相关阅读:
    ubuntu18安装net-snmp
    virtual box安装ubuntu系统 ping通 && xshell可以连接
    高中操场所见所思
    如何写好研究生开题报告
    在加州考驾照
    一个软件工程项目竞赛网站
    结对项目总结
    喜马拉雅随车听开通啦
    裘老师赠书
    推荐博客链接
  • 原文地址:https://www.cnblogs.com/LGX3399577/p/LDSD.html
Copyright © 2011-2022 走看看