tar
除了后跟openssl
or之外,还有更好的方法来压缩然后加密文件吗gpg
?
答案1
tar
是捆绑文件的常用工具。 Plaintar
本身不压缩。有单独的工具,例如压缩包,压缩包2和xz(按典型文件的压缩率递增顺序)压缩一个文件。许多tar
实现,包括 GNU tar(Linux 上的正常实现),都可以使用选项自动压缩(-z
对于 gzip、-j
对于 bzip2、-J
对于 xz):
tar -cJf myarchive.tar.xz file1 file2 file3
要加密文件,请使用GPG。创建密钥并将其与您的电子邮件地址关联(GPG/PGP 密钥标识符通常包含电子邮件地址,尽管这不是必需的)。加密您的文件,指定您的电子邮件作为收件人。要解密文件,您需要输入密码来解锁您的私钥。
GPG 还允许您使用密码加密文件。这不太安全且不太灵活。它不太灵活,因为您需要在加密时指定密码(因此例如您无法进行无人值守的备份)。它的安全性较低,因为唯一的安全性是密码,而基于密钥的加密将密码和密钥之间的安全性分开。
不要使用openssl
命令行工具。它是 OpenSSL 库的展示,不是为生产使用而设计的。尽管您可以用它做一些事情(特别是,它确实具有基本证书颁发机构所需的所有原语),但它很难正确使用,并且它不具备正确执行操作所需的所有功能。 GPG 为您提供自行车,而 OpenSSL 为您提供一些不同尺寸的金属杆和几个橡胶室(不包括螺钉和泵)。使用GPG。
答案2
您可以使用 7zip:
7z a -p -mhe=on stuff.7z MyStuff
^ ^ ^ ^ ^
| | | | `--- Files/directories to compress & encrypt.
| | | `--- Output filename
| | `--- Encrypt filenames
| `---- Use a password
`---- Add files to archive
它会提示您输入密码。显然它使用 AES-256 进行加密密码的 SHA-256 和计数器重复 512K 次用于密钥推导。
答案3
所以你也可以使用 7zip 加密文件名:
7z a -p -mhe=on stuff.7z MyStuff