ios php rsa,RSA 加密 iOS
在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的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: solr后台界面介绍——(十一)
- 下一篇: ROS中使用罗技G29遥控器