zoukankan      html  css  js  c++  java
  • IOS-RSA加解密分享

    本文转载至 http://www.cocoachina.com/bbs/read.php?tid=235527

     
     
    搜索了很多资料,没找到合适的RSA方法,很多人在问这问题,解决了的同志也不分享,故由我来分享吧,好的给个赞!!不好的勿喷,大伙修改完弄上来就好了。。。
    不能只索取,不贡献。。。
    此项目客户端不用openssl生成de,直接使用本库生成Publickey及Privatekey。
    程序是由https://github.com/kuapay/iOS-Certificate--Key--and-Trust-Sample-Project项目修改而来,此项目加密时长度超过100多就不能加密(已修改兼容很多很多字节)!!解密由于项目不需要,没做分片解压,只支持100多字节(项目急,没时间改),大伙可以修改此方法!写完分享一下
    - (NSString *)decrypt:(NSString *)cipherText
                      key:(NSString *)key
                    error:(NSError *)error!!

    适用环境:
    1、ios应用程序自动生成公钥,私钥,并保存下来。以后都是沙盒提取
    2、服务器公钥通过der格式生成SeckeyRef格式,用于与服务器传输。
    3、加密之前已经base64了,解密之后也已经base64.
    加密:
       RSACryptor *r = [RSACryptor shareInstance];
        
        long randomData = random();

        NSString *pubStr = [NSString stringWithFormat:@"%@",@“12345”];

        NSLog(@"RSAExchange %d",[str length]);
        NSData *strData = [
    pubStr dataUsingEncoding:NSUTF8StringEncoding];

        NSString *EncryptStr = [r RSA_EncryptUsingServerPublicKeyWithData:strData];
    解密:
          NSString *RSA_String = @“xxxxxx”;
            RSACryptor *r = [RSACryptor shareInstance];

            NSData *base64FromString = [RSA_String dataUsingEncoding:NSUTF8StringEncoding];
            
            NSString *RSA_DecryptData = [r RSA_DecryptUsingPrivateKeyWithData:base64FromString];
            NSLog(@"RSA_DecryptData %@",RSA_DecryptData);
  • 相关阅读:
    员工转正考核
    前端高级技术考察
    前端基础技术考察
    高级前端评定表
    初级前端评定表
    前端工程师等级评定
    前端软实力
    Decode Ways
    深度学习在目标跟踪中的应用
    Interleaving String
  • 原文地址:https://www.cnblogs.com/Camier-myNiuer/p/4040819.html
Copyright © 2011-2022 走看看