使用openssl实现RSA非对称加密

生成公钥私钥

使用命令生成私钥

openssl genrsa -out rsa_private_key.pem 2048

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

从私钥中提取公钥

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加解密

新建一个test.txt 内容是test

使用公钥加密

openssl rsautl -encrypt -in test.txt -inkey rsa_public_key.pem -pubin -out test.en

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

使用私钥解密

openssl rsautl -decrypt -in test.en -inkey rsa_private_key.pem -out test.de

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

cat test.de // test

你可能感兴趣的:(使用openssl实现RSA非对称加密)