092*_*8f6 13 encryption gnupg public-key-encryption
gpg命令行(Gnupg)的手册页有加密和解密文件的命令.这是使用gpg加密/解密文件的标准命令.
gpg --encrypt --recipient xxx@mail.com ~/xxx/xxx.txt - 加密
gpg --output ~/xxx/xxx.txt --decrypt ~/xxx/xxx.gpg - 解密
但如果我有一个包含多个文件和文件夹的文件夹,我如何使用命令行加密它?
Cal*_*ams 23
解决方案1:
使用gpg-zip.
将用户Bob的目录mydocs的内容加密到文件test1:
gpg-zip --encrypt --output test1 --gpg-args -r Bob mydocs
Run Code Online (Sandbox Code Playgroud)
列出归档test1的内容:
gpg-zip --list-archive test1
Run Code Online (Sandbox Code Playgroud)
这是直接从加密或将文件签名到存档中的示例.如果您详细阅读该页面,它将为您提供很多帮助.
解决方案2:
将目录转换为文件
如果要加密目录,则需要先将其转换为文件.运行命令:
tar czf myfiles.tar.gz mydirectory/
Run Code Online (Sandbox Code Playgroud)
这会为您提供一个新文件'myfiles.tar.gz',然后您可以对其进行加密/解密.要将tarball变回目录:
tar xzf myfiles.tar.gz
Run Code Online (Sandbox Code Playgroud)
现在你可以像上面一样使用加密.所以:
gpg --encrypt --recipient xxx@mail.com ~/xxx/xxx.txt
Run Code Online (Sandbox Code Playgroud)
这是直接从伯克利加密的例子中获得的,这也是一个快速而有用的读物.
你可以在这里查看手册页:gnu gpg man
小智 12
gpgtar也是另一种选择。gpgtar 将文件加密或签名到存档中。它是一个 gpg 化的 tar,使用与 PGP 的 PGP Zip 使用的格式相同的格式。
它与 gnupg 一起安装在 MacOS 和 Linux 上。
加密目录
gpgtar --encrypt --output <out_file_name> -r <recipient> <dir_name>
Run Code Online (Sandbox Code Playgroud)
解密目录
gpgtar --decrypt <out_file_name>
Run Code Online (Sandbox Code Playgroud)
如果您不想将所有内容打包在一起并希望单独加密多个文件:
cd 进入文件夹
加密: $ls | gpg --multifile --encrypt或 $ls | gpg --encrypt-files -r <recipient>
解密: $ls | gpg --multifile --decrypt或$ls | gpg --decrypt-files