美文网首页
前后台加密数据AES的统一

前后台加密数据AES的统一

作者: lotawei | 来源:发表于2017-01-22 16:12 被阅读197次

    加密数据统一

    • 一般前后台数据交互的时候需要进行数据加密
      参与的第一个项目服务器.iOS.android 采用 aes+256+cbc 的方式来交互 .
    图片.png
    • ioS端解密的时候遇到的比较坑的地方是什么?
      思路当然与其反过来就行了.于是对 密文解密 拿到加密的json字符串
      但是在拿服务器加密的数据值时进行base64解码的时候,始终解码失败
      特别恶心.查询了下api才发现
      解码时不能写0照着网上的写,需要写
      NSDataBase64DecodingIgnoreUnknownCharacters
    估计原因是value 中有特殊字符串转义符的原因
     NSString  *value  = @"IvSVadxTjk+33XySWPSyXn0ANsGHxT1pJ62jrj\\/MO5FvL3Oi7bckX4HNNGtpGhqBQ2i9NMkxVJA9J2cPs\\/3UP00guHN\\/t83+82pO5txTqWU=";
        
        NSData *decodedata = [[NSData alloc] initWithBase64EncodedString:value options:NSDataBase64DecodingIgnoreUnknownCharacters];//当有特殊字符的时候需要用这种才能正确解密
         NSString   *key = @"tCptz1sCsdv+5A8/heOy+J99XsQoo2xWwgWrcMX0rX4=";
        NSData *keydecodedata = [[NSData alloc] initWithBase64EncodedString:key options:NSDataBase64DecodingIgnoreUnknownCharacters];
        NSString  *iv = @"9R4baHuhYNiYmN3D3w19dA==";
        NSData *ivdecodedata = [[NSData alloc] initWithBase64EncodedString:iv options:NSDataBase64DecodingIgnoreUnknownCharacters];
        NSData   *decrytor = [FBEncryptorAES  decryptData:decodedata key:keydecodedata iv:ivdecodedata];
        
        NSLog(@"%@",[[ NSString alloc] initWithData:decrytor encoding:NSUTF8StringEncoding]);```

    相关文章

      网友评论

          本文标题:前后台加密数据AES的统一

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