我不想运行类似的程序,gpg -c
因为它会提示我输入密码。我将有一个 cron 作业来备份和加密一些文件。我想将一个位置传递给一个私钥(通过参数)到一个可以加密流的应用程序(即:它可以使用管道字符 ,|
作为输入,而不是只加密一个文件)。
优先使用 AES 之类的对称加密。
还有一件事,我希望它是存储在文件系统某处的私钥。而不是由密钥服务器或某种特定于应用程序的密钥容器管理的私钥。
答案1
然后使用gpg -c --passphrase-file=...
或gpg -c --passphrase-fd=...
。例如:
dmesg | gpg -c --passphrase-fd=3 --batch > dmesg.txt.gpg 3< zombies.key
解密:
gpg --batch --passphrase-fd=3 3< zombies.key --output decrypted.txt --decrypt dmesg.txt.gpg
(不过我认为gpg
默认为 CAST,所以也添加--cipher-algo AES256
。)
或者,openssl cipher -aes256
。