openssl基础使用(linux必学)

157 阅读2分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第1天,点击查看活动详情 >>

实验原理

openssl是Linux内置的一款开源工具,实现了常见的密码算法与应用。通过openssl操作,完成各种密码算法的应用。

实验过程

创建一个文件,用于被加密,文件内容为12345,文件名为test.txt

echo 12345 >test.txt

在这里插入图片描述

一、对称加密

1、使用rc4加解密

加密

openssl enc -e -rc4 -in test.txt -out test_rc4.enc

在这里插入图片描述

这是第一个是设置密码,第二个是重复输入密码。两次必须一样。

加密完后利用 ll 命令就可以看见。

我们可以cat 查看一下这个文件

在这里插入图片描述

解密

openssl enc -d -rc4 -in test_rc4.enc -out test_rc4.dm

解密完以后依旧是打开输出文件看一下,发现已经成功解密了。 在这里插入图片描述

2、使用AES加解密

这和上面加密过程也差不多,加密时设置密码,两遍要相同。

openssl enc -e -aes-128-cbc -a -salt -in test.txt -out test_aes128.enc

在这里插入图片描述 解密

openssl enc -d -aes-128-cbc -a -salt -in test_aes128.enc -out test_aes128.d

在这里插入图片描述

3、使用3DES加解密

加密

openssl enc -e -des3 -a -salt -in test.txt -out test_des3.enc

在这里插入图片描述

解密

openssl enc -d -des3 -a -salt -in test_des3.enc -out test_des3.d

在这里插入图片描述

二、非对称加密

1、RSA加解密码

生成RSA密钥对

openssl genrsa -out rsa.key 1024

在这里插入图片描述

导出公钥

openssl rsa -in rsa.key -pubout -out rsa_pub.key

在这里插入图片描述

此时可以 ll 查看一下: 在这里插入图片描述

使用公钥加密文件

openssl rsautl -encrypt -in test.txt -inkey rsa_pub.key -pubin -out test_rsa.enc

在这里插入图片描述

使用私解解密文件

openssl rsautl -decrypt -in test_rsa.enc -inkey rsa.key -out test_rsa.c

在这里插入图片描述

这里需要注意的是,解密命令用的文件和加密时不一样,加密时用的是导出的公钥,而解密是用的直接是生成的密钥对文件。

使用公钥解密报错

openssl rsautl -decrypt -in test_rsa.enc -inkey rsa_pub.key -out test_rsa.c

在这里插入图片描述