在 Linux 下使用 OpenSSL 加密,常见有几种方式,下面按最常用场景给你说明。
openssl enc -aes-256-cbc -salt -in file.txt -out file.txt.enc
-aes-256-cbc:加密算法-salt:增强安全性openssl enc -d -aes-256-cbc -in file.txt.enc -out file.txt
openssl enc -aes-256-cbc -salt -in file.txt -out file.txt.enc -pass pass:123456
更安全方式(从文件读密码):
openssl enc -aes-256-cbc -salt -in file.txt -out file.txt.enc -pass file:./pass.txt
openssl base64 -in file.txt -out file.txt.b64
解密:
openssl base64 -d -in file.txt.b64 -out file.txt
openssl genrsa -out private.pem 2048
openssl rsa -in private.pem -pubout -out public.pem
openssl pkeyutl -encrypt -in file.txt -pubin -inkey public.pem -out file.txt.enc
openssl pkeyutl -decrypt -in file.txt.enc -inkey private.pem -out file.txt
⚠️ RSA 一般不直接加密大文件,通常用来加密「对称密钥」
openssl dgst -sha256 file.txt
aes-128-cbc
aes-256-cbc
des3
bf-cbc
查看支持算法:
openssl list -cipher-commands
# 加密
openssl enc -aes-256-cbc -salt -in test.txt -out test.enc
# 解密
openssl enc -d -aes-256-cbc -in test.enc -out test.txt
如果你是 想加密磁盘 / 备份 / 通信 / 脚本自动化,可以告诉我具体用途,我可以给你更合适的方案。