我想使用密码和安全编辑该文件的方法来加密文本文件。
我遇到的问题是,我还没有找到一种简单的方法来做到这一点,同时只需要解密过程的密码。
正如推荐的这另一个问题,我目前正在尝试使用 gpg 来加密我的文件并且vim-gnupg来编辑它。
我尝试的第一个替代方案是使用gpg --encrypt --default-recipient-self
.这与 vim-gnupg 和 gpg-agent 配合得很好,因为不必一直输入密码,但我发现使用不对称加密有点麻烦。如果我所做的只是为自己加密,为什么我需要用我的姓名和电子邮件创建密钥对并使用非对称加密?我还需要随身携带密钥文件,而不仅仅是加密文件。
我尝试的第二种方法是使用 进行加密gpg --symmetric
,它只需要输入密码。这次的问题在于不必反复输入密码。当 vim-gnupg 保存文件时,它会要求输入新密码(并让我输入两次),而不是重复使用最初用于解密文件的相同密码。有没有办法不这样做?
答案1
GPG 手册页有几个您可能感兴趣的选项,您可以将其应用到您自己的个人中解密-编辑-加密脚本/函数。喜欢:
--passphrase-fd n
- 从文件描述符 n 中读取密码--passphrase-file file
- 从文件中读取密码文件...显然,如果其他用户可以读取该文件,则存储在文件中的密码的安全性值得怀疑。如果可以避免,请不要使用此选项。--passphrase string
- 使用字符串作为密码...显然,这在多用户系统上的安全性非常值得怀疑。如果可以避免,请不要使用此选项。
将密钥文件放置在 ram (tmpfs) 中且其他任何人都无法读取可能就足够了。或者对于 Linux,您可以查看内核的密钥管理工具,即keyctl
答案2
我不知道有什么方法可以用标准工具做你想做的事情。
也就是说,一个非常简单的包装脚本就可以完成此任务。
或者,如果您使用的是 Linux,则可以使用黄铁矿,它是 gpg 和 openssl 的 GUI 包装器。有了它,您可以在 GUI 中输入一次密码来解密,编辑解密后的文本,然后按下按钮重新加密(使用相同的密码)。