在 Linux 下用 OpenSSL 加密/解密文件,常见有几种方式。下面给你最常用、最实用的示例,并说明注意事项。
openssl enc -aes-256-cbc -salt -in 原文件 -out 加密后文件
示例:
openssl enc -aes-256-cbc -salt -in test.txt -out test.txt.enc
执行后会提示输入密码。
openssl enc -aes-256-cbc -d -in 加密后文件 -out 解密后文件
示例:
openssl enc -aes-256-cbc -d -in test.txt.enc -out test.txt
⚠️ 命令行密码会留在历史记录中,不安全
openssl enc -aes-256-cbc -salt -in test.txt -out test.txt.enc -k 密码
解密:
openssl enc -aes-256-cbc -d -in test.txt.enc -out test.txt -k 密码
✅ 推荐交互式输入密码
| 算法 | 说明 |
|---|---|
| aes-256-cbc | ✅ 推荐,安全、通用 |
| aes-128-cbc | 速度快,安全性稍低 |
| des3 | 老算法,不推荐 |
查看支持的算法:
openssl enc -ciphers
openssl enc -aes-256-cbc -a -salt -in test.txt -out test.txt.enc
解密:
openssl enc -aes-256-cbc -a -d -in test.txt.enc -out test.txt
-a 表示 base64 编码(可放在邮件、JSON 中)
openssl genrsa -out rsa.key 2048
openssl rsa -in rsa.key -pubout -out rsa.pub
openssl rsautl -encrypt -inkey rsa.pub -pubin -in file -out file.enc
openssl rsautl -decrypt -inkey rsa.key -in file.enc -out file
⚠️ RSA 不能直接加密大文件,通常用来加密 对称密钥
✅ 使用 AES + 交互式密码
✅ 不要明文写密码
✅ 加密后验证是否能解密
✅ 重要文件备份原文件
# 加密
openssl enc -aes-256-cbc -salt -in data.txt -out data.txt.enc
# 解密
openssl enc -aes-256-cbc -d -in data.txt.enc -out data.txt
如果你愿意,我可以帮你:
你现在是要加密 文本 / 数据库 / 备份文件 吗?