在iOS端使用RSA加密的记录

一、需求:

SDK开发,使用RSA加密和后台进行数据交互,后台是PHP

要求:

1、post请求,客户端放公钥,私钥放后台

2、发送数据:客户端的json数据—>RSA加密数据—>base64编码数据—>php后台

3、接收数据:php后台base64编码数据—>客户端base64解码数据—>RSA解密数据—>json数据

4、使用的密钥是1024位,要和后台统一,解密长度128,加密长度117

5、rsa_public_key.pem文件后台给的

二、探究过程

三、遇到的问题

1、'openssl/asn1.h' file not found‘

解决方法:

Header Search Paths 添加这种格式的路径

"$(SRCROOT)/XSFH_game/Lib"

image.png

2、base编码发给后台,后台接收少+的问题

我这边发给后台加密后的base64编码,后台接收后,base64编码中的+变成了空格,导致后台解码错误,这是后台的问题

解决方法:

PHP学习 base64_encode +号变空格

3、后台数据接收到问题

可能是php接收数据的问题,我放在HTTPBody里的传给它的是一字符串,后台说没法解析,要那种类似于json的格式,最后给它传了个如下格式的代码stringWithFormat:@"baseKey=%@",encryptedString]; ,baseKey可以随便写,就类似于json的key值

NSString *encryptedString = [[XSFHRSATool shareInstance] encryptStr:paramStr WithRSAKeyType:KeyTypePublic];

NSString *keyAndValue = [NSString stringWithFormat:@"baseKey=%@",encryptedString];

request.HTTPBody = [keyAndValue dataUsingEncoding:NSUTF8StringEncoding];

ios php rsa,RSA 加密 iOS相关推荐

  1. iOS 加密算法之MD5加密使用

    2020.06.04编辑 前言 对于加密算法这个概念我的确不太清楚,虽然我知道加密算法存在的意义,但是这并不妨碍我不知道加密算法具体都有哪些.所以今天这篇文章就是了大家一起学习开发中哪些加密算法. 在 ...

  2. iOS安全之RSA加密/生成公钥、秘钥 pem文件

    在iOS中使用RSA加密解密,需要用到.der和.p12后缀格式的文件,其中.der格式的文件存放的是公钥(Public key)用于加密,.p12格式的文件存放的是私钥(Private key)用于 ...

  3. 利用BBRSACryptor实现iOS端的RSA加解密

    背景 RSA这种非对称加密被广泛的运用于网络数据的传输,但其在iOS上很难直接实现,BBRSACryptor框架通过移植openssl实现了iOS端的RSA,本文将介绍如何使用BBRSACryptor ...

  4. iOS端基于RSA公钥加密和解密

    前言 最近在公司项目中被要求使用RSA加密,且要求是全程加解密,期间也是踩了很多的坑,在此做个记录也算给要使用的朋友一点帮助.注意,具体的RSA加密算法内容并不在此文的讨论范围之内.本文更多聚焦于使用 ...

  5. RSA der加密 p12解密以及配合AES使用详解

    在前面的文章中我有说过AES和RSA这两种加密方式,正好在前段时间再项目中有使用到,在这里再把这两种加密方式综合在一起写一下,具体到他们的使用,以及RSA各种加密文件的生成. 一: RSA各种加密相关 ...

  6. Android采用AES+RSA的加密机制对http请求进行加密

    前言 最近维护公司APP应用的登录模块,由于测试人员用Fiddler抓包工具抓取到了公司关于登录时候的明文登录信息.虽然使用的是HTTPS的方式进行http请求的,但还是被Fiddler抓到了明文内容 ...

  7. 加密解密_使用RSA密钥对加密解密数据

    使用RSA密钥对加密解密数据 作者: 郭政鸿 2021/1/6 前言: 前几天看了非对称加密, 那非对称加密处理常见的https中的应用, 平时我们可以用来做什么呢? 1. 生成RSA密钥对 使用op ...

  8. RSA非对称加密简析-java

    1 非对称加密算法 1.1 概述 1976年,美国学者Dime和Henman为解决信息公开传送和密钥管理问题,提出一种新的密钥交换协议,允许在不安全的媒体上的通讯双方交换信息,安全地达成一致的密钥,这 ...

  9. JSON 接口如何实现 RSA 非对称加密与签名

    代码地址如下: http://www.demodashi.com/demo/14000.html 一.概述 1. 数字签名的作用:保证数据完整性,机密性和发送方角色的不可抵赖性,加密与签字结合时,两套 ...

最新文章

  1. 计算机学机械制图吗,机械制图与计算机绘图(少学时·任务驱动模式)
  2. for循环的执行顺序
  3. Vmware VPD要点
  4. Debian 项目不再提供 CD 格式的 ISO 镜像
  5. 乙级(Basic Level) 1009 数字黑洞
  6. 再一贴[亲爱的,我不小心怀孕了~!]
  7. PiFlow大数据流水线系统v0.9源码
  8. 诗与远方:无题(四十八)
  9. 动态规划之回文串问题
  10. JavaScript学习笔记(八)
  11. 又看了半天的pdf格式的js方面的书,感觉受益匪浅啊,只会一点操作的我,要学好理论...
  12. Ubuntu下查看cuda版本的两种方法
  13. 中文核心期刊与科技核心期刊区别?
  14. 记录:创建Django项目,在vscode中运行django项目
  15. 计算机组装diy,电脑diy,详细教您如何组装电脑
  16. mysql之mysql.sock文件
  17. 添加网站验证,让搜索引擎收录你的网站
  18. 台式计算机的主流配置,目前, 台式电脑的主流配置是什么样的?
  19. Apache和Spring提供的StopWatch执行时间监视器
  20. Spark的spark-*和blockmgr-*目录里是什东西,怎么来的

热门文章

  1. beta:scrum5
  2. mysql 开发 生产_在没有表锁定的情况下在巨大的MySQL生产表...
  3. spring 多线程 事务 源码解析(一)
  4. 第7章-选择器+伪类
  5. 拦截器、过滤器、@Aspect 区别
  6. android 日期选择器
  7. windows 8 安装iis .net 3.5
  8. 2003 64位系统 IIS6 32位模式运行
  9. 南邮哈夫曼编码c语言代码_漫画:“哈夫曼编码” 是什么鬼?
  10. oracle虑重语句,db基本语句(oracle)