使用openssl工具进行rsa加解密

本文介绍如何使用OpenSSL工具生成RSA私钥与公钥,并演示了利用这些密钥进行数据加密及解密的过程。从生成密钥到加密明文、再到解密密文,每一步都配有具体的命令行操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. 生成私钥
openssl genrsa -out private.key 1024

得到private.key

-----BEGIN RSA PRIVATE KEY-----
MIICXQIBAAKBgQC0Tth0ngVqEfwCDmxhTxPh0UeHbN2LF023nFNojS6ErnOQXW/W
RdHNFiAD22JDIjmd6LQJ3H7gjBcmk1sXvIuoqDzrFkwG56Venp6YCYukZO8VoR4t
0Nx7zznspZ3/Z1VRejHLPQKa9h81gBO3nB54cl/nC43RFUcPF3hd/GfnSwIDAQAB
AoGAMxcsSk8EZbvW1pZTq3cGwTPVus/kLqdZxC8tizCF/96WrE9tgx+hhSVByRX+
z9sAzHfFnA24fdP0M2AJrb4lLBk+/iyz+fLEH2QJZPHroimXtXy4UTYRyg7EBghj
Ymgxa9hl64RrwWWHlRAxF4f+lUsBVENwkBxVvF/xJypVUwECQQDdrQEfOW24tSQB
P/gptTdRcscrMbmjRObRzUJb+roUqqVuzllQYvbxlKQbYObH2c9zopFeJYOTwUeh
OAq+1QLBAkEA0DoQkbfhMIJMwSV7rsCrz8Wosh1Wuf/MyWVuNDkOE2SOvRbMPkzK
koUu8G2PcUkU1RIZXkQptLmFUpunXigJCwJBALTTb1rdKdfGS3yJhhHftSRHkJh3
k4rPpcn2ue7189zv5ssgoFKmp/Ig4k1DGn5j+onFTveRemeI/rlQUdOhRwECQCtZ
q1FrAsrilbAwaYt8OUjMUc6jJQccJjpXj5X3uuJ2sPDU6jieLB5M8/TCGnbvTBL/
7aAeeMBTT1pfZXzIwPkCQQCzb9yQKQ4N1NgdU0XlIoK+0+mv8/6vFghanPgZf27Y
bW0S/wWYCmY5QWLA2EnVscN2ozp//HyVTKNs1+XQEDMV
-----END RSA PRIVATE KEY-----

  1. 提取公钥
openssl rsa -in private.key -pubout -out public.key

得到public.key

-----BEGIN PUBLIC KEY-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC0Tth0ngVqEfwCDmxhTxPh0UeH
bN2LF023nFNojS6ErnOQXW/WRdHNFiAD22JDIjmd6LQJ3H7gjBcmk1sXvIuoqDzr
FkwG56Venp6YCYukZO8VoR4t0Nx7zznspZ3/Z1VRejHLPQKa9h81gBO3nB54cl/n
C43RFUcPF3hd/GfnSwIDAQAB
-----END PUBLIC KEY-----

  1. 加密明文
    明文cleartext

Mary has a little lamp.

使用公钥加密

openssl rsautl -encrypt -in cleartext -inkey public.key -pubin -out chiper.bin

chiper.bin是二进制文件并不能直接读取

�L�ʵ��B��d�,���h�U(5�llO�iR�tqI��w��#@�!N*�?̜"������R#�,%A;U�M��c�Z�]'�݆PK� l����J���G�}\J=��{`

需要做base64编码

openssl base64 -e -in chiper.bin -out chiper.base64

得到chiper.base64

nn9M8Mq1tdZClu9kkCyA9pxokFULKDWCbGwET95pUvl0cUn3YMF3tPkjQBOzBCFO
Kto/zJwilZqjEJIBGRCiyVIjzxMsJUE7FlWbTa/+Y9Jaql0nYObdhlBLiSCP+mzv
qwDNwEq+kadHwX1cSj2j/HtgCvv6Bghc7/WHWZ7NeOk=

  1. 解密密文
    base64编码后的密文需要解码为二进制文件
openssl base64 -d -in chiper.base64 -out chiper.bin

使用私钥解密

openssl rsautl -decrypt -in chiper.bin -inkey private.key -out cleartext

转载于:https://my.oschina.net/CasparLi/blog/1068620

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值