aki*_*ira 181
您必须将 unix 哲学应用于此任务:每个任务一个工具。
tarring和压缩是一个工作,tar和gzip或bzip2,加密是任何工作gpg或openssl:
加密
% tar cz folder_to_encrypt | \
openssl enc -aes-256-cbc -e > out.tar.gz.enc
Run Code Online (Sandbox Code Playgroud)
解密
% openssl enc -aes-256-cbc -d -in out.tar.gz.enc | tar xz
Run Code Online (Sandbox Code Playgroud)
或者使用 gpg
% gpg --encrypt out.tar.gz
Run Code Online (Sandbox Code Playgroud)
openssl-variant 使用对称加密,您必须告诉接收方使用的“密码”(又名“密钥”)。gpg 变体使用对称和非对称加密的组合,您使用接收方的密钥(这意味着您不必将任何密码告诉任何人)来创建会话密钥并使用该密钥加密内容。
如果您使用 zip(或 7z)路线:本质上与 openssl-variant 相同,您必须将密码告知接收方。
Ant*_*mas 38
如果您的目的只是密码保护文件,请通过命令行使用 hand zip 实用程序
zip -e <file_name>.zip <list_of_files>
Run Code Online (Sandbox Code Playgroud)
-e 要求 zip 实用程序加密中提到的文件
工作示例:
$ touch file_{0,1}.txt # creates blank files file_0 & file_1
$ zip -e file.zip file_* # ask zip to encrypt
$ ENTER PASSWORD:
$ VERIFY PASSWORD:
$ ls file*
Run Code Online (Sandbox Code Playgroud)
小智 23
这里有几种方法可以做到这一点。需要注意的一件事是,如果您要使用单独的压缩和加密工具,则应始终在加密之前进行压缩,因为加密数据本质上是不可压缩的。
这些示例压缩和加密名为clear_text.
使用 gpg
$ gpg -c clear_text #Compress & Encrypt
$ gpg -d clear_text.gpg #Decrypt & Decompress
Run Code Online (Sandbox Code Playgroud)
gpg 默认会在加密前压缩输入文件,-c意思是使用带密码的对称加密。输出文件将为clear_text.gpg. 使用的好处之一gpg是使用标准的 OpenPGP 格式,因此任何支持 OpenPGP 的加密软件都能够对其进行解密。
使用 mcrypt
$ mcrypt -z clear_text #Compress & Encrypt
$ mdecrypt -z clear_text.gz.nc #Decrypt & Decompress
Run Code Online (Sandbox Code Playgroud)
该-z选项压缩。默认情况下,这会输出一个名为clear_text.gz.nc.
使用 bcrypt
$ bcrypt -r clear_text #Compress & Encrypt
$ bcrypt -r clear_text.bfe #Decrypt & Decompress
Run Code Online (Sandbox Code Playgroud)
bcrypt 默认在加密前进行压缩,该-r选项是为了在此过程中不删除输入文件。clear_text.bfe默认情况下调用输出文件。
使用gzip和aespipe
$ cat clear_text | gzip | aespipe > clear_text.gz.aes #Compress & Encrypt
$ cat clear_text.gz.aes | aespipe -d | gunzip > clear_text #Decrypt & Decompress
Run Code Online (Sandbox Code Playgroud)
aespipe 就是它听起来的样子,一个程序在 stdin 上输入并在 stdout 上输出 aes 加密数据。它不支持压缩,因此您可以先通过 gzip 管道输入。由于输出到标准输出,您必须将其重定向到具有您自己选择的名称的文件。可能不是执行您所要求的最有效方法,但是 aespipe 是一种多功能工具,因此我认为值得一提。
Sae*_*aeX 20
您可以使用 7zip 来创建受密码保护的存档。您可以通过以下方式在命令行(或在脚本中)指定密码:
7z a -p<password> <someprotectedfile>.7z file1.txt file2.txt
7zip 也可以从 STDIN 读取,如下所示:
cat <somefile> | 7z a -si -p<password> <someprotectedfile>.7z
如果必须使用 zip 文件,您可能需要使用-t<type>参数(例如-tzip)。
小智 6
创建:
tar czvf - directory | gpg --symmetric --cipher-algo aes256 -o passwordprotectedarchive.tar.gz.gpg
Run Code Online (Sandbox Code Playgroud)
它会要求您输入密码。
解密:
gpg -d passwordprotectedarchive.tar.gz.gpg | tar xzvf -
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
238577 次 |
| 最近记录: |