加密存档然后将其分为多个部分

加密存档然后将其分为多个部分

我有一个包含许多文件的个人存档(超过 12Go)

我想用密码加密,然后将其分成100份。

我怎样才能这样做呢?

我怎样才能重新组合它并解密它以取回文件?

答案1

要加密文件,请使用openssl

openssl aes-128-cbc -in the_archive -out the_archive.crypted

要分割文件,请使用split

split -a 3 -b 100000 the_archived.crypted chunk.

要重新组合块,请使用cat

cat chunk.??? >the_archive.crypted

要再次解码文件,请使用openssl

openssl aes-128-cbc -d -in the_archive.crypted -out the_archive

答案2

如果这 100 个部分中的任何一个丢失/损坏,您最终可能无法恢复任何文件,我更倾向于每个加密的 100 个单独的档案。

但是,对于一个巨大的分割文件,如果您的工具不支持使用 stdin/stdout 进行管道传输,您最终可能需要 12Go(千兆字节?)的可用空间来重新组装各个部分,并需要另外 12 个可用空间来解密/查看存档。

一起使用 tar 和 gpg 以及 split 应该可以,例如:

tar -c files | gpg -o- ... | split -b [size 1/100th of total] -

可能有用的拆分选项可能包括:

  • -a3生成长度为 N 的后缀(默认 2)
  • -d使用数字后缀而不是字母后缀。
  • -读取标准输入。
  • outputfilename.输出文件的名称

答案3

创建/加密/分割:

tar -cJvpf - inputdirectory/ |
     gpg --symmetric --cipher-algo aes256 |
     split -d -b 100m - outputfile.tar.xz.gpg.

改编自如何通过一个命令使用 tar、split 和 openssl 进行备份和加密?在 Ask Ubuntu 上,修改为使用 gpg 而不是 openssl。

焦油选项:

-c=--create

    创建一个新档案

-J=--xz

    通过过滤存档xz

-v=--verbose

    详细列出已处理的文件

-p= --preserve-permissions=--same-permissions

    提取有关文件权限的信息(超级用户的默认值)

-f=--file=ARCHIVE

    使用存档文件或设备ARCHIVE

并解密:

cat outputfile.tar.xz.gpg.* | gpg -d | tar -xJvpf -

相关内容