背景:RSA加密,是一種非對稱形式的加密方法。因為是支付公司,決定做自己的SDK,然后寫示例代碼,因此會將加密和加簽都寫進去方便集成者閱讀。找了好天找的腦殼疼。。。不過好在最后找到了。分享出來,以免大家難以尋找。。。
至于怎么生成密鑰大家就自己百度一下吧。。。方法到處都能找到,我這里就不多說了。主要講一下openssl的引入。
rsa加密和簽名的代碼我就放在這里了。需要自取,也可以點個??喲~。也是我找了好久問了好多人才找到的。(對了,還有一個簽名方法在是支付寶的sdk,可以自行去支付寶開放平臺下載,不過它的驗簽方法要輸入的參數有支付寶后臺的返回信息,所以沒法單獨拿來使用,簽名完成也沒法驗簽所以我就沒用那個,有需要的也可以自己研究研究。)
RSA加密:https://github.com/XingXiaoWu/RSA-demo
RSA簽名:https://github.com/XingXiaoWu/RSA-
不會引入openssl的童鞋繼續往下看吧
1.首先,自己生產一對秘鑰。然后將openssl導入庫。
ps:openssl這個庫哪都有,自己生成也行,我后面給的rsa加密中也有,支付寶sdk里也有。
這個時候運行是會報錯的
解決辦法如下:
1.如圖搜索
這里給大家解釋一下這個要添加的地方怎么寫
首先添加$(SRCROOT)
我們可以看見,包含rsa的openssl文件夾是4文件夾下的openssl
所以路徑構成是:$(SRCROOT)/項目名稱1(TestDemo)/包含的文件夾2(WXRSASignopen)/包含的文件夾3(openssl)/包含的文件夾4(include)
同理,填寫你的項目的包含的路徑。
運行一下,成功就不必看下面的了,不成功就繼續往下看。
如果你使用的是支付寶sdk中的openssl文件和Untils工具類的話,可能其中的rsa.h或其他文件還會報錯,這個時候可以打開報錯的文件向其中添加#import<Foundation/Foundation.h>即可,如果你嫌一個個添加太麻煩,可以做如下操作創建一個pch文件。
1.創建一個pch文件
2.在創建的pch文件中寫上#import<Foundation/Foundation.h>
3.復制這個$(TARGET_NAME)
4.接著
運行一下,一般就成功了。這樣就完成了openssl庫的導入。
libcrypto.a和libssl.a這兩個.a文件別忘了導入!!!
libcrypto.a和libssl.a這兩個.a文件別忘了導入!!!
libcrypto.a和libssl.a這兩個.a文件別忘了導入!!!
歐克,有問題的話在下方留言吧~~