在上面RSA加密(2.0)中我们讲到了第一种RSA加密方式,但是这种加密方式适用范围比较窄,对加密的数据有长度限制,下面我们讲一下第二种RSA加密方式

第二种需要openssl静态库,所以我们首要做的事情就是制作静态库

分别需要生成适用于armv7,armv7s,arm64和i386情况的静态库,并且合并各个静态库,才能适用于各种机型(包括模拟器)

1.去https://openssl.org/source/下载相应的库

2.解压库文件,我的库文件未解压之前叫openssl-1.0.2d.tar,加压完为openssl-1.0.2d

3.根据路径./openssl-1.0.2d/crypto/ui/找到ui_openssl.c文件。

static volatile sig_atomic_t intr_signal;

改为static volatile int intr_signal;

4.在openssl-1.0.2d文件下面创建armv7,并在终端执行

./configure BSD-generic32 --openssldir=../openssl-1.0.2d/armv7(PS:在执行以上语句的时候,先要转到openssl-1.0.2d路径下)

其中“=”后面为armv7文件的路径,根据个人情况设置,并回车

5.openssl-1.0.2d下找到Makefile

找到CC= gcc

并且将gcc改为/Applications/Xcode.app/Contents/Developer/usr/bin/gcc -arch armv7

其中/Applications/Xcode.app/Contents/Developer/usr/bin/gcc为gcc的路径。如果在/Applications/Xcode.app/Contents/Developer/usr/bin/能找到gcc,则你可以这样设置,如果不是,请根据个人情况设置

在下面一行中

CFlag= 后面添加-isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.0.sdk/

即CFlag= -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.0.sdk/

其中 /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/下能找到iPhoneOS9.0.sdk,则说明可以这样添加,如果不是,请根据个人情况设置

6保存以上文件,并且在终端上执行make

如果有错误

clang: warning: argument unused during compilation: '-pthread'

making all in tools...

make[1]: Nothing to be done for `all'.

可以忽略

7.执行make install,则可以在armv7文件中找到lib中找到俩个.a文件,在armv7中还可以找到include文件,以上所说的文件则可以保存起来,即是有用的文件

以上所说是armv7格式的静态库文件,arm64,armv7s格式的静态库生成可重复3~7步,同时将所有的armv7替换为arm64或者armv7s。但是每次生成静态库都最好用最新解压的openssl-1.0.2d,避免造成不必要的错误

关于i386与x86_64静态库的生成与上面所说的基本一致,但除了注意替换armv7之外,CFlag=后面内容替换为-isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator9.0.sdk/

8.合并静态库

以上所说最后应该会生成多个libssl.a和libcrypto.a文件,实际上使用的时候可以将俩俩合并,形成可用于多种状态下的通用静态库

RSA加密(3.0)相关推荐

  1. MacOS下使用C语言基于openssl库进行RSA加密解密

    MacOS下使用C语言基于openssl库进行RSA加密解密 1 安装openssl并生成密钥 首先当然要安装openssl(这里记得看一下安装路径,应该是/usr/local/Cellar/open ...

  2. 0宽字符加密_「今日学习」VUE使用RSA加密技术

    1 Vue端搭建 首先我们还是先安装必要的模块哈: npm install jsencrypt --save 接下来我们需要在main.js的配置文件中配置上全局变量哈: import JSEncry ...

  3. iOS使用Security.framework进行RSA 加密解密签名和验证签名

    iOS 上 Security.framework为我们提供了安全方面相关的api: Security框架提供的RSA在iOS上使用的一些小结 支持的RSA keySize 大小有:512,768,10 ...

  4. RSA加密传输代码示例

    RSA加密传输代码示例 涉及敏感数据的传输,双方最好约定使用加密解密.那RSA非对称加密就大有作为了. 服务端可以保留自己的私钥,发给客户端对应的公钥.这样就可以互相加解密了.php中rsa加解密实现 ...

  5. 一篇搞定RSA加密与SHA签名|与Java完全同步

    看到这篇文章的同学可幸福了,当时在做RSA加密与签名的时候网上的资料简直不要太老,做完后实在是忍受不下去了,这篇文章我会详细讲解iOS如何实现RSA加密与签名,并且与Java完全同步,这是我的第二篇博 ...

  6. python3 rsa加密_【Python】Python3 实现 JS 中 RSA 加密的 NoPadding 模式

    前因后果之哗啦啦废话连篇: 这几天本人在 Python 做某网站登陆的时候,发现其登陆时用户名和密码被加密了 F12 仔细看了一下,发现是调用了一个 js 的 rsa 加密库,页面 dom 中有 rs ...

  7. obj c和java_PKCS1-padding / RSA加密ios objc和java之间的区别

    我正在为ios和Android开发应用程序.我对加密任务相对来说比较陌生,在过去的3天里,由于无法运行RSA加密,所以我一直在抨击我的头部. 两个客户端都从java服务器接收公钥.在Android中我 ...

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

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

  9. python判断网页密码加密方式_python实现网页登录时的rsa加密流程

    对某些网站的登录包进行抓包时发现,客户端对用户名进行了加密,然后传给服务器进行校验. 使用chrome调试功能断点调试,发现网站用javascript对用户名做了rsa加密. 为了实现网站的自动登录, ...

最新文章

  1. php xml 互相转换
  2. 使用spring-rabbit测试RabbitMQ消息确认(发送确认,接收确认)
  3. 牛客网【每日一题】4月13号 Accumulation Degree
  4. Html5 学习系列(二)HTML5新增结构标签
  5. JQuery Dialog(转)
  6. windows环境下neo4j下载安装配置
  7. 一些个人感觉很不错的特效
  8. GDB 的几个用法(until, finish, tui)
  9. 2019秋季10月新番动漫推荐
  10. css3+html5——机器猫哆啦A梦+手、脚、头动起来!
  11. 梦幻西游手游微信号登陆不上服务器,梦幻西游手游为什么进不去 进不去登陆不上解决方法...
  12. leanote 蚂蚁云笔记 源码编译
  13. 设计模式之美总结(创建型篇)
  14. 使用MySQL管理工具-SQLyog 9.63报错号码2058,超详细解析
  15. 素数的平方阶群必为Abel群
  16. ITE EC代码解析1
  17. springboot,tkmybatis的逆向工程
  18. 可视化GC日志分析工具
  19. 串口服务器中文使用文档,MOXA 串口服务器中文使用文档.doc
  20. linux识别require语法,Scala 的参数检查与断言: require, assert, assume 和 ensuring

热门文章

  1. 【linux驱动之字符设备驱动基础】
  2. 安装SecureCRT和SecureFX踩过得坑
  3. kobe生涯数据 数据预处理
  4. 苹果cms模板_苹果cms爱看模板有哪些?
  5. Java个人知识点笔记总结
  6. 谷歌地图启用全新卫星图:细节更清晰,色彩更丰富
  7. AFNetworking2.4.1解析
  8. 微信小程序更换头像的实现源码
  9. 熔断器hystrix的使用
  10. 简易计算机绘图,电脑绘画简易教程——原野