IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> Openssl3.0 Android平台编译教程 -> 正文阅读

[网络协议]Openssl3.0 Android平台编译教程

【前言】

?????Android要想实现RSA/AES之类的加密,最简便的方式是直接使用Android提供的Java层api,但是使用Java层提供的api去加密,别人很容易通过反编译看到你的加密逻辑,然后直接模拟你的加密逻辑去刷接口或者抓包时候直接解密即可,安全系数比较低;要想提高被别人反编译看到加密逻辑的门槛,需要把相关加密逻辑代码放到C层去实现,但是要是自己去实现RSA/AES加密逻辑,那是很浪费时间而且完全没必要的事情,可以借助Openssl提供的crypto这个库去实现加密或者md5
?????网上的openssl编译教程大部分都是比较旧的或者是不太详细,故而有此教程详细记录openssl的编译过程

一、环境要求

1、Linux系统,可以在VMware中装ubuntu linux系统
2、下载Linux版 NDK,解压

二、下载Openssl源码

1、在shell终端中输入git命令下载openssl源码到当前目录下

git clone git://git.openssl.org/openssl.git

在这里插入图片描述

二、编译源码

1、cd进入到openssl目录下,即Configure文件所在目录
在这里插入图片描述
2、使用export命令新增/修改环境变量ANDROID_NDK_ROOT指向你的NDK目录,export 的效力仅限于该次登录操作

export ANDROID_NDK_ROOT=/home/jimmy/android-ndk-r23b-linux/android-ndk-r23b

3、将编译openssl所需的NDK命令所在的目录添加到环境变量PATH

PATH=$ANDROID_NDK_ROOT/toolchains/llvm/prebuilt/linux-x86_64/bin:$PATH

4、运行./Configure脚本生成Makefile文件,这里指定生成arm64的.so

./Configure android-arm64 -D__ANDROID_API__=30

执行完之后会在当前目录下生成一下两个文件
在这里插入图片描述

5、使用make命令进行编译

make

等待一段时间,执行完之后,就会在当前目录下生成了想要的.so文件了,将生成的两个.so复制到android项目下arm64-v8a下即可
在这里插入图片描述
6、要想继续生成其他平台的.so, 可以删掉第4、5步生成的文件,重复第4、5步即可
其中,armeabi 对应 android-arm, arm64-v8a 对应 android-arm64, x86 对应 android-x86x86_64对应 android-x86_64
【注意】除了把生成对应平台的.so拷贝到Android项目之外,记得也得把当前目录下的include目录一起拷贝过去用,include里面是需要引入的头文件,而且需要注意的一定得编译完成之后再拷贝,拷贝没编译前的include文件,到时引入时会报错,因为有些文件是编译时候才生成的

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2022-04-30 09:03:26  更:2022-04-30 09:03:49 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 3:44:05-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码