所以我有一台 Raspberry Pi 2 Model 2,上面连接了一个外部硬盘。我想知道哪种方式是加密大文件(~10GB)最有效的方法。
我一直使用 7zip 将文件添加到受密码保护的档案中,不进行压缩,并将它们分成更小的部分:
7z a -p filename -mx0 -v100m -mhe file-to-be-encrypted
然而,由于 CPU 负载过高,处理 10GB 的文件需要很长时间。
那么也许有一种更简单的方法来加密文件,而不需要那么多的 CPU 能力?
答案1
你可以使用 openSSL,它安全且高度可靠。
对于大文件(超过 600 MB),你必须使用split
命令将文件拆分成小文件
split -b 500M -d -a 4 <large_file> large_file.part.
然后用来openssl smime
加密每一部分
find -maxdepth 1 -type f -name 'large_file.part.*' | sort | xargs -I % openssl smime -encrypt -binary -aes-256-cbc -in % -out %.enc -outform DER PUBLIC_PEM_FILE
要解密文件,你必须按相反的顺序重做
find -maxdepth 1 -type f -name 'large_file.part.*.enc' | sort | xargs -I % openssl smime -decrypt -in % -binary -inform DEM -inkey PRIVATE_PEM_FILE -out %.dec
find -maxdepth 1 -type f -name 'large_file.part.*.dec' | sort | xargs cat > restored_large_file
答案2
ccrypt
是一种快速加密一个或多个文件的好方法。
它位于存储库中,因此只需安装:
sudo apt-get install ccrypt
它带有一个方便的变体cat
,称为ccat
。如果您使用加密文本文件,ccrypt
您可以使用ccat
它快速将其显示在终端中。
ccrypt
但它不仅适用于文本文件。您可以在任何文件上使用它。