![使用 AesCrypt 加密大量文件的脚本](https://linux22.com/image/1508163/%E4%BD%BF%E7%94%A8%20AesCrypt%20%E5%8A%A0%E5%AF%86%E5%A4%A7%E9%87%8F%E6%96%87%E4%BB%B6%E7%9A%84%E8%84%9A%E6%9C%AC.png)
我刚刚学习 bash,即将更新家里的备份安全标准,以防万一发生什么事情。
我有两个用于备份的外部硬盘。我想先在笔记本电脑上加密文件(已应用磁盘加密),然后将它们移动到硬盘上,这样硬盘上就不会有隐藏(已删除)的未加密数据。
我可以简单地使用磁盘加密,但由于多种原因,这不是我打算做的。
除此之外,如何使用 AESCrypt 或者类似 AES-256-CBC 的脚本来加密从给定根文件夹到最后一个子文件夹的所有文件(而不是文件夹本身)?
答案1
我不太确定您是否可以使用纯 bash 进行加密。我确信这是可能的,但我可以为您提供另一种解决方案。
Bash解决方案:
openssl enc -nosalt -aes-128-cbc -in test -out test.enc -p
发现于堆栈溢出在这里
Python解决方案:
除了尝试使用 bash 来寻找加密方法,你有没有尝试过使用 Python?这是一种原生 Linux 语言,支持加密和许多其他功能。
那么在 python 中,就可以做你想做的事情。
apt-get install python-pip
pip install pyCrypto
然后从那里开始,您将要查看一些内容。
您还需要查看“OS”模块中的“Walk”函数。
最后,您可以使用自己选择的简单密码轻松访问文件
#!/bin/python
# Python 2 example
from Crypto.Hash import MD5
secret = MD5.new(raw_input('Password: ')).hexdigest()
然后,如果您愿意,只需使用秘密加密每个文件,并且每个文件的密钥都是相同的。