iOS openssl库导入与RSA加密与签名

背景: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文件别忘了导入!!!

欧克,有问题的话在下方留言吧~~

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 嘟哝嘟哝:最近接到一个任务:在客户端动态生成RSA密钥对,然后向服务器发送这个密钥对中的公钥字符串,由服务器进行公...
    TimmyR阅读 12,470评论 19 21
  • iOS支付 iOS支付分为两类,第三方支付和应用内支付(内购)。 第三方支付包括:支付宝支付、微信支付、银联支付、...
    请输入账号名阅读 11,418评论 3 22
  • iOS支付 iOS支付分为两类,第三方支付和应用内支付(内购)。 第三方支付包括:支付宝支付、微信支付、银联支付、...
    帅不过oneS阅读 7,928评论 2 8
  • 落叶随风飘向远方 只给秋天一抹光晕 呼吸着秋风萧萧 放眼远山红叶漫山 追听鸟雀歌声悠扬 潮起潮落晨光微凉 缪沧海微...
    焦志欢阅读 3,276评论 1 2
  • 曾经无数次的以为 我们永远不会分开 可是到后来才发现 天下没有不散的宴席 如此熟悉又陌生的家庭 是否注定了苍白的命...
    忠杰_7ec9阅读 1,384评论 0 0