使用openssl实现RSA非对称加密
生成公钥私钥
使用命令生成私钥:
1
|
openssl genrsa -out rsa_private_key.pem 1024 |
参数:genrsa 生成密钥 -out 输出到文件 rsa_private_key.pem 文件名 1024 长度
从私钥中提取公钥:
1
|
openssl rsa - in rsa_private_key.pem -pubout -out rsa_public_key.pem |
参数: rsa 提取公钥 -in 从文件中读入 rsa_private_key.pem 文件名 -pubout 输出 -out 到文件 rsa_public_key.pem 文件名
shell加解密
新建一个readme.txt 内容是taoshihan
使用公钥加密:
1
|
openssl rsautl -encrypt - in readme.txt -inkey rsa_public_key.pem -pubin -out hello.en |
参数: rsautl 加解密 -encrypt 加密 -in 从文件输入 readme.txt 文件名 -inkey 输入的密钥 rsa_public_key.pem 上一步生成的公钥 -pubin 表名输入是公钥文件 -out输出到文件 hello.en 输出文件名
使用私钥解密:
1
|
openssl rsautl -decrypt - in hello.en -inkey rsa_private_key.pem -out hello.de |
参数: -decrypt 解密 -in 从文件输入 hello.en 上一步生成的加密文件 -inkey 输入的密钥 rsa_private_key.pem 上一步生成的私钥 -out输出到文件 hello.de 输出的文件名
1
|
cat hello.de // taoshihan |