使用openssl实现RSA非对称加密

旧巷老猫 提交于 2020-01-08 03:23:28

生成公钥私钥

使用命令生成私钥

openssl genrsa -out rsa_private_key.pem 1024

参数:genrsa 生成密钥   -out 输出到文件  rsa_private_key.pem 文件名  1024 长度

从私钥中提取公钥:

openssl rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem

shell加解密

 

vim a.txt
ubuntu@ubuntu-vm:~/workspace/encryption$ cat a.txt
123456

 

使用公钥加密:

openssl rsautl -encrypt -in a.txt -inkey rsa_public_key.pem -pubin -out b.txt

参数: rsautl 加解密  -encrypt 加密  -in 从文件输入  a.txt 文件名  -inkey  输入的密钥  rsa_public_key.pem  上一步生成的公钥  -pubin 表名输入是公钥文件  -out输出到文件  b.txt 输出文件名

使用私钥解密:

 

openssl rsautl -decrypt -in b.txt -inkey rsa_private_key.pem -out c.txt

 

参数: -decrypt 解密  -in 从文件输入 b.txt 上一步生成的加密文件  -inkey 输入的密钥 rsa_private_key.pem 上一步生成的私钥  -out输出到文件  c.txt 输出的文件名

-rw-rw-r-- 1 ubuntu ubuntu     7 11月  6 10:14 a.txt
-rw-rw-r-- 1 ubuntu ubuntu   128 11月  6 10:17 b.txt
-rw-rw-r-- 1 ubuntu ubuntu     7 11月  6 10:18 c.txtubuntu@ubuntu-vm:~/workspace/encryption$ cat a.txt123456ubuntu@ubuntu-vm:~/workspace/encryption$ cat c.txt123456ubuntu@ubuntu-vm:~/workspace/encryption$ cat b.txtºف[¿#涳h±tA|Ū+qӾvqvϻ0ȴ¯{¶¶%䳪𤧭끹 𕛍r;ìIȗ\gֺ0ἀ¹.£!`¶"n­K_~ PW挈"aҒ-¥*/¾ubuntu@ubuntu-vm:~/workspace/encryption$ Xshell

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!