![Vim:恢复加密文件](https://linux22.com/image/1264376/Vim%EF%BC%9A%E6%81%A2%E5%A4%8D%E5%8A%A0%E5%AF%86%E6%96%87%E4%BB%B6.png)
实际上,我已经使用 vim -X 选项加密了文件。不幸的是,我忘记了加密密钥。有没有办法在不知道密钥的情况下恢复文件而不损坏任何数据?
谢谢。
答案1
当然不是。如果存在后门,让你在不知情的情况下获得明文,那么加密效果就不太好了。
总是存在暴力破解,但如果密钥很长,则很容易花费很长时间而无法提供帮助。
答案2
简短回答:不,这是不可能的。(正如其他人提到的。)请参阅“ :help encryption
”并注意警告。
详细回答:Vim 可以选择使用两种加密方法:
- 原始的(也是默认的)加密方案被认为是脆弱的,并且可能“被破解”,它基于 zip 的加密方案。据说有 zip 加密破解程序,但我从未能够让它们工作,而且如果不进行修改,它们肯定无法处理 Vim 的加密文件。
- 7.3 中引入的新加密方案是 Blowfish。要获得暴力破解该密钥所需的能量,您就必须消耗掉一颗太阳的能量,而这(假设在 Vim 中实现此方法没有错误,或者 Blowfish 算法没有核心缺陷)可能是您设法访问该文件的唯一方法。
看 ” :help 'cryptmethod'
”
我还要重申其他人在这里所说的话:如果加密如此容易被破解,那么加密就没什么用了。
我建议您始终将密码写在安全的地方;安装一个不错的“密码安全”应用程序,例如 KeePass。
答案3
不可能。尽管 Vim 只是使用标准算法(我相信是 AES)来加密/解密文件,但无论您使用什么程序或库,如果没有密钥,您都无法解密。这些算法之所以有效,不是因为它们牢不可破,而是因为暴力破解它们需要极长的时间(以目前的计算能力,可能需要数千年)。
答案4
如果您最近编辑过该文件(上次记住密码时),请检查您的临时文件夹,其中应该有一个包含内容的文件。文件名末尾会有一个波浪符号。