温馨提示×

linux openssl怎么加密文件

小樊
58
2026-07-29 09:11:14
栏目: 云计算

在 Linux 下用 OpenSSL 加密/解密文件,常见有几种方式。下面给你最常用、最实用的示例,并说明注意事项。


一、使用 OpenSSL 对称加密(最常用)

1️⃣ 加密文件(AES-256-CBC)

openssl enc -aes-256-cbc -salt -in 原文件 -out 加密后文件

示例:

openssl enc -aes-256-cbc -salt -in test.txt -out test.txt.enc

执行后会提示输入密码。


2️⃣ 解密文件

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

四、使用 Base64(适合文本传输)

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 中)


五、非对称加密(RSA,适合密钥交换)

1️⃣ 生成 RSA 密钥

openssl genrsa -out rsa.key 2048

2️⃣ 提取公钥

openssl rsa -in rsa.key -pubout -out rsa.pub

3️⃣ 用公钥加密(只适合小数据)

openssl rsautl -encrypt -inkey rsa.pub -pubin -in file -out file.enc

4️⃣ 私钥解密

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

如果你愿意,我可以帮你:

  • 写一个 一键加密/解密脚本
  • 对比 gpg vs openssl
  • openssl 做文件完整性校验

你现在是要加密 文本 / 数据库 / 备份文件 吗?

0