温馨提示×

linux openssl怎么加密

小樊
34
2026-09-13 17:01:40
栏目: 云计算

在 Linux 下使用 OpenSSL 加密,常见有几种方式,下面按最常用场景给你说明。


一、用 OpenSSL 加密/解密文件(对称加密)

1️⃣ 加密文件(使用密码)

openssl enc -aes-256-cbc -salt -in file.txt -out file.txt.enc
  • -aes-256-cbc:加密算法
  • -salt:增强安全性
  • 会提示输入密码

2️⃣ 解密文件

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

三、Base64 编码(不是加密,只是编码)

openssl base64 -in file.txt -out file.txt.b64

解密:

openssl base64 -d -in file.txt.b64 -out file.txt

四、生成密钥 + 非对称加密(RSA)

1️⃣ 生成 RSA 私钥

openssl genrsa -out private.pem 2048

2️⃣ 导出公钥

openssl rsa -in private.pem -pubout -out public.pem

3️⃣ 用公钥加密(小文件)

openssl pkeyutl -encrypt -in file.txt -pubin -inkey public.pem -out file.txt.enc

4️⃣ 用私钥解密

openssl pkeyutl -decrypt -in file.txt.enc -inkey private.pem -out file.txt

⚠️ RSA 一般不直接加密大文件,通常用来加密「对称密钥」


五、计算文件 Hash(校验用)

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

如果你是 想加密磁盘 / 备份 / 通信 / 脚本自动化,可以告诉我具体用途,我可以给你更合适的方案。

0