Linux文件加密解密有哪些工具

作者:袖梨 2026-07-31

Linux文件加密解密工具与选型建议

常用工具速览

  1. GnuPG(GPG):基于OpenPGP;支持对称加密与公钥加密;适合单文件、敏感文本、传输分发。命令示例:对称加密 gpg --symmetric --cipher-algo AES256 -o file.gpg file;解密 gpg -d file.gpg -o file。公钥加密 gpg --encrypt --recipient [email protected] file
  2. OpenSSL:通用加密工具包;常用命令 openssl enc -aes-256-cbc -salt -in file -out file.encopenssl enc -d -aes-256-cbc -in file.enc -out file。适合脚本化与管道处理。
  3. 7-Zip(p7zip):支持7z格式与AES-256 加密;命令示例 7z a -p -mhe=on file.7z file(开启头加密)。适合打包并加密多文件。
  4. VeraCrypt:跨平台磁盘/容器加密;命令示例 veracrypt --create volume.hc -e aes -h sha-512 --size 10G;挂载 veracrypt volume.hc /mnt。适合大批量文件与目录。
  5. LUKS/dm-crypt:Linux 原生块设备加密;命令示例 cryptsetup luksFormat /dev/sdXcryptsetup open /dev/sdX mycryptmkfs.ext4 /dev/mapper/mycryptmount /dev/mapper/mycrypt /mnt。适合整盘/分区/云盘加密。
  6. gocryptfs / CryFS / EncFS / eCryptfs:FUSE/堆栈式文件系统加密;特点是对现有目录透明加解密、无需预分配大文件;其中 EncFS 存在安全审计问题,优先选用 gocryptfs/CryFS。
  7. ccrypt:面向单文件的Rijndael(AES) 加密工具;命令示例 ccencrypt file / ccdecrypt file.cpt
  8. 图形与密钥管理:KGpg(GPG 图形密钥管理)、Gnome Encfs Manager(encfs 前端)、桌面归档管理器如 Ark/File Roller/Xarchiver/Engrampa 可创建/解压带密码的压缩包(便捷但强度依赖格式与实现)。

按场景选择

  1. 单文件/文本、需要收件人分发:优先 GnuPG(公钥)或 OpenSSL(对称)。
  2. 多文件打包并加密、跨平台共享:优先 7-Zip(7z/AES-256,支持头加密)。
  3. 大量文件/目录、需要像普通目录一样使用:选 gocryptfs/CryFS(FUSE,透明、无需预分配);不推荐 EncFS 处理敏感数据。
  4. 整盘/分区/云盘/移动盘:选 LUKS/dm-crypt(系统级、全盘加密)或 VeraCrypt(容器/跨平台)。
  5. 临时保护、脚本自动化:选 OpenSSL 或 ccrypt(轻量、易集成)。

快速上手示例

  1. GnuPG 对称加密
    1. 加密:gpg --symmetric --cipher-algo AES256 -o secret.gpg document.txt
    2. 解密:gpg -d secret.gpg -o document.txt
  2. OpenSSL 对称加密
    1. 加密:openssl enc -aes-256-cbc -salt -in file -out file.enc
    2. 解密:openssl enc -d -aes-256-cbc -in file.enc -out file
  3. 7-Zip 加密归档
    1. 创建:7z a -p -mhe=on backup.7z dir/(-mhe=on 加密文件列表)
    2. 解压:7z x -p backup.7z -ooutdir
  4. VeraCrypt 容器
    1. 创建:veracrypt --create myvol.hc -e aes -h sha-512 --size 5G
    2. 挂载:veracrypt myvol.hc /mnt/secure
    3. 卸载:veracrypt -d /mnt/secure
  5. LUKS 分区
    1. 格式化:sudo cryptsetup luksFormat /dev/sdX
    2. 打开:sudo cryptsetup open /dev/sdX mycrypt
    3. 格式化并挂载:sudo mkfs.ext4 /dev/mapper/mycrypt && sudo mount /dev/mapper/mycrypt /mnt
    4. 卸载关闭:sudo umount /mnt && sudo cryptsetup close mycrypt

安全与合规要点

  1. 选择强算法与模式:优先 AES-256;避免过时算法(如 DES/RC4)。对称加密务必使用随机盐与足够强度的口令;公钥加密注意密钥长度与指纹校验。
  2. 元数据安全:gocryptfs/CryFS 会加密文件名/元数据;EncFS/eCryptfs 不加密目录结构与文件大小,敏感场景不建议使用。
  3. 完整性校验:部分工具/模式不提供完整性校验(如 VeraCrypt 常见配置),重要数据建议配合 HMAC 或数字签名。
  4. 口令与密钥管理:使用密码管理器或硬件安全模块(HSM)/TPM;妥善备份恢复种子/头信息;避免将口令硬编码在脚本中。
  5. 备份与演练:加密前先完整备份;定期演练解密/恢复流程,确保可用性与流程正确。
  6. 已知风险:不要使用存在安全问题的实现(如 EncFS 的多种攻击面);桌面归档管理器虽便捷,但加密强度与实现相关,敏感数据优先使用专业加密工具。

相关文章

精彩推荐