文件的加密与解密——Openssl的妙用:安装与使用案例

本文详细介绍了OpenSSL的加密原理,包括对称加密和非对称加密,以及如何使用OpenSSL进行文件加密、安装依赖库、生成公钥私钥对,并展示了实际的加密文件传输过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Openssl应用——文件加解密
1. 加密简介
1.1 加密类型
1.1.1 对称加密(或者叫密钥加密)
使用一摸一样的密钥进行加解密;
优点:加解密速度快;

1.1.2 非对称加密(或者叫公钥加密)
使用不相同的密钥进行加解密;
优点:安全;
公钥加密有2组密钥:公钥和私钥。二者被称为“密钥对”;
钥:加密;
钥:解密;

2. openssl安装
依赖2个库:libssllibcrypto

将openssl-1.1.1g.tar.gz上传至任意安装的目录下:
1)tar -xzvf openssl-1.1.1g.tar.gz #解压

2)cd openssl-1.1.1g/ #进入openssl目录

3)./config #生成makefile

4)make #编译

5)make install #安装

注意:
如提示找不到libssl和libcrypto,则新建2个软链接:
1)find / -name libssl.so.1.1 #查看libssl.so.1.1所在位置

2)In -s /usr/local/openssl/lib/libssl.so.1.1 /usr/lib64/libssl.so.1.1
ln -s /usr/local/openssl/lib/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1#对openssl源码安装目录/usr/local/openssl/lib/libssl.so.1.1和libcrypto.so.1.1进行软连接

3)执行如下命令:
openssl version
显示版本信息代表安装成功!

3. 例子
假设cad用户(192.168.100.107)要与cad1用户(192.168.100.108)加密传输secret.txt文件。
(1)cad用户:
1)创建cad用户的私钥cad_private.pem:
openssl genrsa -aes128 -out cad_private.pem 1024
注意:1024代表私钥长度是1024位
执行命令后出现设置密码的提示:Enter pass phrase for cad_private.pem:
验证密码的提示:Verifying – Enter pass phrase for cad_private.pem

2)创建cad用户的公钥cad_public.pem:
openssl rsa -in cad_private.pem -pubout > cad_public.pem

(2) cad1用户:
1)创建cad用户的私钥cad1_private.pem:
openssl genrsa -aes128 -out cad1_private.pem 1024
注意:1024代表私钥长度是1024位
执行命令后出现设置密码的提示:Enter pass phrase for cad1_private.pem:
验证密码的提示:Verifying – Enter pass phrase for cad1_private.pem

2)创建cad用户的公钥cad1_public.pem:
openssl rsa -in cad1_private.pem -pubout > cad1_public.pem

(3) 两个用户交换private.pem
1)cad用户将cad_public.pem传输给cad1用户:
scp cad_public.pem cad1@192.168.100.108:/home/cad1/

2)cad1用户将cad1_public.pem传输给cad用户:
scp cad1_public.pem cad@192.168.100.107:/home/cad1/

(4) cad用户创建需要加密的secret.txt文件
1)echo “hello, openssl” > secret.txt

2)openssl rsault -encrypt -inkey cad1_public.pem -pubin -in secret.txt -out secret.enc

3)rm -rf secret.txt #删除源文件secret.txt

4)scp secret.enc cad1@192.168.100.108:/home/cad1/

(5) cad1用户解密查看secret.txt
1)openssl rsautl -decrypt -inkey cad1_public.pem -in secret.enc > secret.txt #解密secret.enc

2)cat secret.txt #查看内容
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
最终,在cad用户将secret.txt传输给cad1用户的过程中,
cad1用户下共有如下文件:
cad_private.pem
cad_public.pem
cad1_public.pem
secret.enc
注意:secret.txt在创建secret.enc完毕后就删除了。

cad1用户下共有如下文件:
cad1_private.pem
cad1_public.pem
cad_public.pem
secret.enc
secret.txt

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值