在 Linux 下使用 OpenSSL 解密数据,常见场景主要分为三类:对称加密解密、非对称(RSA)解密、验证/解密证书/私钥。下面按常见用法给你说明。
enc.dataes-256-cbcopenssl enc -d -aes-256-cbc -in enc.dat -out dec.txt
-d:解密-aes-256-cbc:算法(加密时用的什么,这里就用什么)-in:输入文件-out:输出文件openssl enc -d -aes-256-cbc -in enc.dat -out dec.txt -k 123456
openssl rsautl -decrypt -in encrypted.dat -out decrypted.txt -inkey private.pem
-decrypt:解密-inkey:私钥文件-in:加密数据-out:解密结果⚠️ 注意:
rsautl 只能解密 小数据(通常 < 245 字节,取决于密钥长度)ENCRYPTED):openssl rsa -in encrypted_key.pem -out decrypted_key.pem
执行后会提示输入密码。
base64 -d encrypted.b64 | openssl enc -d -aes-256-cbc -out dec.txt
或:
openssl enc -d -aes-256-cbc -in <(base64 -d encrypted.b64) -out dec.txt
openssl enc -list
bad decrypt原因:
RSA operation error原因:
| 场景 | 命令 |
|---|---|
| AES 解密 | openssl enc -d -aes-256-cbc -in x -out y |
| RSA 解密 | openssl rsautl -decrypt -inkey priv.pem |
| 私钥解密 | openssl rsa -in enc.pem -out dec.pem |
| base64 解密 | base64 -d file |
如果你愿意,可以把具体加密方式 / 文件格式 / 报错信息发出来,我可以直接帮你写精确的解密命令。