macOS终端不支持直接加密单个文件,但可通过hdiutil命令创建AES-256加密.dmg容器封装文件或文件夹:执行hdiutil create -encryption AES-256 -fs APFS -size 500m ~/Desktop/SecureData.dmg生成镜像,再用hdiutil attach挂载拖入文件,推出后即加密封存。
macos 终端本身不直接提供“加密单个文件”的图形化命令,但可通过 hdiutil 创建加密磁盘映像(.dmg)来安全封装敏感文件,这是系统原生、可靠且无需第三方工具的方案。它本质上是把文件放进一个带密码的加密容器里,而非对文件本身做 aes 加密——这种方式更稳定、兼容性好,也避免了文件级加密可能引发的权限或元数据问题。
用 hdiutil 创建 AES-256 加密的 .dmg 容器
这是最常用、最稳妥的终端加密方式,适合保护一组文件或整个文件夹:
- 打开“终端”,输入命令创建加密映像:
hdiutil create -encryption AES-256 -fs APFS -size 500m ~/Desktop/SecureData.dmg
其中-size 500m表示初始容量为 500MB(可按需改写为1g、2g等),~/Desktop/SecureData.dmg是保存路径。 - 执行后会提示两次输入密码——必须一致,且建议启用“显示密码”确认无误;密码不支持空格或特殊字符过多的组合,以避免挂载失败。
- 映像生成后,用
hdiutil attach ~/Desktop/SecureData.dmg挂载,它会出现在访达侧边栏,像普通磁盘一样打开,把要保护的文件拖进去即可。 - 操作完成后,在访达中右键点击该卷,选择“推出”,容器即自动锁闭,再次双击或运行
hdiutil attach都需重新输密码。
快速加密已有文件夹:一步生成加密镜像
如果已有现成文件夹(如 ~/Documents/Confidential),可用一条命令直接打包加密:
- 终端中运行:
hdiutil create -srcfolder ~/Documents/Confidential -encryption AES-256 -fs APFS ~/Desktop/Confidential.dmg - 系统会要求输入并确认密码,然后自动读取源文件夹内容,生成加密 .dmg 文件。
- 生成完毕后,原始文件夹不受影响;新 .dmg 文件可复制、传输或归档,只有知道密码的人才能挂载查看。
解密就是挂载,无需额外“解密命令”
macOS 没有独立的“解密文件”命令——加密容器的安全性依赖于挂载时的密码验证:
- 双击 .dmg 文件,或在终端中运行:
hdiutil attach /path/to/your/SecureData.dmg - 输入正确密码后,系统自动挂载为可读写卷;关闭窗口或执行
hdiutil detach /Volumes/SecureData即退出锁定状态。 - 注意:不要用“还原”或“转换”类命令处理已加密 .dmg,否则可能损坏加密结构;如需修改内容,请先挂载、编辑、再推出。
不推荐用 OpenSSL 或 gpg 加密单个文件的原因
虽然终端能运行 openssl enc 或 gpg --symmetric 对单个文件加密,但存在明显短板:
- 加密后文件扩展名和元数据丢失,恢复原始格式需手动指定参数,易出错;
- 没有内置密钥管理,密码遗忘即永久无法恢复;
- 无法像 .dmg 那样提供直观的“挂载/卸载”体验,也不支持 Finder 预览、Quick Look 或 Spotlight 检索加密内容;
- 部分 macOS 版本对 OpenSSL 的默认配置较旧,AES-GCM 等现代模式支持有限。


















