如何使用 Linux 终端中的 OpenSSL 将一个文件夹中的所有文件加密到另一个文件夹中?
你好,
我正在从 Linux 终端使用 OpenSSL。
我有一个文件夹“A”,我想使用 AES256 将该文件夹中的所有文件加密到文件夹“B”中。
有人知道怎么做吗?
维萨
答案1
您要找的可能是 opensslenc
实用程序。enc
允许您执行各种流密码例程。它只适用于文件。不过这不是什么大问题,我们只需要先使用 存档目录tar
。如果我们想使用 AES256 加密和解密:
加密目录
tar -vcf directory.tar directory/
openssl aes256 -salt -in directory.tar -out encrypted_dir.aes256
解密目录
openssl aes256 -d -salt -in encrypted_dir.aes256 -out unencrypted.tar
tar --one-top-level -xvf unencrypted.tar
(该--one-top-level
标志并非绝对必要,但它会创建一个名为的新目录,unencrypted
内容随后会存放在该目录中,我认为这很好。)
如果您按照上述方式加密和解密,系统只会要求您输入密码。您也可以使用密钥文件或类似文件,请查看以获取更多详细信息。还请注意,由于字典攻击,在使用密码加密man enc
时应始终使用(实际上是默认设置,但为了确保万无一失,将其拼写出来也不错)。-salt
-salt