美文网首页
接口加密处理 和 IPV6 问题

接口加密处理 和 IPV6 问题

作者: 曼谷第一开膛手 | 来源:发表于2017-03-23 16:12 被阅读53次

项目中用到的 接口 加密,代码如下:

// get 请求 把参数都拼到URL 后面
 if ([url rangeOfString:@"?"].location != NSNotFound) {
        NSArray *array = [url componentsSeparatedByString:@"?"];
        urlStr = array[1];

    }
   NSDate *date = [NSDate date];
    NSDateFormatter *formatter = [[NSDateFormatter alloc]init];
    [formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
    NSString *dateStr = [formatter stringFromDate:date];
    NSLog(@"%@",dateStr);
    // URL 加当前日期,和后台约定好的 口令
    NSString *signStr = [NSString stringWithFormat:@"%@%@%@",urlStr,dateStr,@"123456"];
    NSString *signMD5 = [self md5:signStr];
// 设置请求头
    [mgr.requestSerializer setValue:signMD5 forHTTPHeaderField:@"sign"];
    [mgr.requestSerializer setValue:dateStr forHTTPHeaderField:@"timestamp"];

// post 请求
  NSString *urlStr = @"";
    if (params) {
        NSLog(@"%@",params);
        NSArray *keys = params.allKeys;
        
        for (int i= 0; i < keys.count; i ++) {
            if (i == 0) {
                NSString *str = [NSString stringWithFormat:@"%@=%@",keys[i],params[keys[i]]];
               urlStr = [urlStr stringByAppendingString:str];
            }else{
                NSString *str = [NSString stringWithFormat:@"&%@=%@",keys[i],params[keys[i]]];
               urlStr  = [urlStr stringByAppendingString:str];
            }
        }
    }
    
    
    
    NSDate *date = [NSDate date];
    NSDateFormatter *formatter = [[NSDateFormatter alloc]init];
    [formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
    NSString *dateStr = [formatter stringFromDate:date];
    NSLog(@"%@",dateStr);
    
    NSString *signStr = [NSString stringWithFormat:@"%@%@%@",urlStr,dateStr,@"123456"];
    NSString *signMD5 = [self md5:signStr];
    NSLog(@"%@------%@",signStr,signMD5);

// 保证好后台生成的 MD5一致

//md5 32位 加密 (小写)
+ (NSString *)md5:(NSString *)str {
    onst char *cStr = [str UTF8String];
    unsigned char result[16];
    CC_MD5(cStr, strlen(cStr), result); // This is the md5 call
    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]
            ] lowercaseString];
}

由于IPV6 的问题被审核拒了,查阅资料后 在网络请求的时候 做了些处理,审核通过了

   // ipv6
    mgr.responseSerializer.acceptableContentTypes = nil;//[NSSet setWithObject:@"text/ plain"];
    mgr.securityPolicy = [AFSecurityPolicy defaultPolicy];
    mgr.securityPolicy.allowInvalidCertificates = YES;//忽略https证书
    mgr.securityPolicy.validatesDomainName = NO;//是否验证域名

相关文章

  • 接口加密处理 和 IPV6 问题

    项目中用到的 接口 加密,代码如下: 由于IPV6 的问题被审核拒了,查阅资料后 在网络请求的时候 做了些处理,审...

  • Jmeter接口加密测试小结

    Jmeter接口加密测试小结 最近,公司做接口测试,但是发送请求前需要对个别参数做加密处理。之前一直没做过这...

  • WEB如何使用RSA加密数据(公钥加密)

    最近一个项目的登录接口需要加密处理。考虑到HTTPS环境搭建以及后期各种维护和效率等因素,想要采用非对称加密RSA...

  • React Aes 对称加密(Crypto-js)

    aes 对称 加密 / 解密公司项目敏感数据较多,决定前后端进行接口加密处理,采用的是 AES + BASE64 ...

  • 使用异或实现对String字符串的加密解密

    为了保证程序的安全,经常采用数据加密的方法。Java 中提供了专门用于加密运算的类和接口。 除了使用加密类和接口外...

  • dnsmasq ipv6测试

    物理口 client端设置: 1、sysctl 修改内核参数,使能接口ipv6,是能全局ipv6转发,使能接口 a...

  • HTTPS-确保Web安全

    HTTP的问题 TCP/IP是可能被窃听的网络。 加密处理防止被窃听: 1.通信加密:通过和SSL(Secure ...

  • python django搭建接口数据加解密web

    一、背景 1.1 背景: app访问接口返回data数据进行了加密处理,测试抓包后不能直接查看结果,每次输入加密内...

  • 2019-11-12

    springboot 接口参数统一解密先定义一个加密注解 拦截处理 加解密 如果需要把返回值加密可以实现 Requ...

  • Api_处理接口依赖(登录状态)

    处理接口依赖 在做接口的过程中,处理接口间的依赖很常见,这里要说的是处理下个接口依赖登录状态的情况: 例:分析问题...

网友评论

      本文标题:接口加密处理 和 IPV6 问题

      本文链接:https://www.haomeiwen.com/subject/gxxtottx.html