目录
###[1. 下载与安装](#download)
###[2. 简单说明](#explain)
###[3. 应用实例](#apply)
####[(1)加解密命令](#ed)
####[(2)生成密码](#passed)
####[(3)生成随机数](#rand)
1. 下载与安装
- [官网链接](https://www.openssl.org/source/)
- 安装
```
cd XXX //进入压缩包所在目录
tar xzvf openssl-1.0.2t.tar.gz //解压
cd openssl-1.0.2t //进入安装目录
./config //拷贝相关文件
make //编译
make install //安装 需要权限
```
- 确认文件
```
cd usr/include/openssl
ls
```
![](https://img2018.cnblogs.com/blog/1268742/201911/1268742-20191118195127572-884913548.png)
cd usr/lib/ssl
ls
2. 简单说明
- openssl: 多用途的命令行工具,可以执行交互或批量命令。
注:请在终端使用```man openssl```和```openssl --help```命令了解其相关信息
- libcrypto: 加密算法库。
- libssl:加密模块应用库,实现了ssl及tls。
3. 应用实例
(1)加解密命令
- enc--对称加密(在此使用了```enc```命令,请用```man enc```查看帮助文档,了解其相关信息)
- 加解密的算法、输入的密钥要一致
- 可使用```openssl enc -```查看相关参数和支持的密码算法
- 加密:
openssl enc -e -des3 -a -salt -in XXX -out XXX.cipher
- 解密:
openssl enc -d -des3 -a -salt –in XXX.cipher -out XXX
(2)生成密码
命令及主要参数:
- 已有密钥文件
openssl passwd -1 -salt 100 -in XXX
注:这里的100是密钥长度,XXX可以是.txt或.c文件
- 命令行输入密钥
openssl passwd -stdin
注:输入需要加密的密钥--回车--产生加密结果
(3)生成随机数
命令及主要参数:
![](https://img2018.cnblogs.com/blog/1268742/201912/1268742-20191202223127822-1161766251.png)
注:num--输入/生产的随机数个数输入,生产的随机数个数
- 简单的产生base64编码格式的随机数
```openssl rand -base64 100```
-
```openssl rand -hex -rand in.txt -out out.txt 1```
注:以下两个参数必须具备其中一个:
-base64:使用base64 编码格式
-hex:使用16进制编码格式