使用openssl实现RSA非对称加密

生成公钥私钥

使用命令生成私钥

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.txt
ubuntu@ubuntu-vm:~/workspace/encryption$ cat a.txt
123456
ubuntu@ubuntu-vm:~/workspace/encryption$ cat c.txt
123456
ubuntu@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

 

posted @ 2017-11-06 10:29  于光远  阅读(1078)  评论(0编辑  收藏  举报