小编And*_* Mo的帖子

Vim 读取加密文件时不再提示输入加密密钥;为什么不,我怎样才能恢复它?

我最近开始使用 Vim 来加密文本文件(通过使用:X命令并在提示符下输入加密密钥)。如文档所述,当我重新打开文件并解密文本时,Vim 会提示输入该密钥。

今天,我打开了其中一个加密文件,但令我惊讶的是,Vim没有提示我输入任何密钥,而只是显示加密文本。我当然多次重新打开文件,但结果总是相同。(我在 OS X 上使用 Vim 7.3。我发现 MacVim 与非 GUI 版本的行为没有区别。)

对于可能导致此问题的原因,我有三个模糊的预感:

  1. 在加密后,我重命名了有问题的文件——可能不止一次。不幸的是,我实际上不记得自从最近一次重命名以来我是否成功解密了文件。
  2. 该文件存储在我的 Dropbox 文件夹中,因此如果该文件在 Dropbox 服务器上以某种方式进行了更改,该版本可能会覆盖我(以前很好的)本地版本。(但是,当我尝试通过 Dropbox 恢复文件的旧版本时,我只能找到该文件的一个版本,而且我也无法解密。)
  3. 结合以上两者:我实际上重命名了文件,以便它有一个.crypt扩展名,不认为这在本地会很重要,但我看到 Dropbox 实际上将此文件(在Kind列中)标识为file crypt. 如果 Dropbox 将该文件识别为加密文件,它可能会以某种方式处理该文件?(但是,当我存储扩展名为 的未加密文本文件时.crypt,阅读它没有任何问题。)

我尝试使用 openssl 来恢复文件,特别是作为openssl bf -d -in [encrypted file] -out [decrypted file]. 但是这个报告bad decrypt 1948:error:06065064:digital envelope routines:EVP_DecryptFinal_ex:bad decrypt:/SourceCache/OpenSSL098/OpenSSL098-47/src/crypto/evp/evp_enc.c:330:(或略有变化)。

(让我先发制人地表明,我 99% 确定这不是我使用错误的加密密钥的情况,因为我过去曾多次成功解密文件,现在 Vim 甚至没有提示输入密钥。我还仔细检查过我在 openssl 中使用了正确的键。)

我使用了 Vim 的默认加密,据我所知,它在 7.3 中是河豚(尽管我尝试了一些其他的带有 openssl 的密码命令,但不确定哪个(如果有)对应于 …

encryption vim dropbox cryptography macos

7
推荐指数
1
解决办法
1909
查看次数

在 Vim 中,使用 :sus 和 :sh 访问 shell 而不结束 Vim 会话有什么区别?

我知道,在 Vim(我认为也是 Vi)中,如果我想临时访问 shell,我可以执行以下操作之一:

  • 使用:sh(aka :shell),然后从 shell 注销以返回到 Vim
  • 使用:sus(aka :suspend, :st, or :stop),然后使用fg返回到 Vim
  • 使用:! <command>过的Vim传递命令外壳
  • 使用:mksession <filename>保存会话,退出Vim,然后恢复会话:source <filename>返回的Vim(当然这可能是太麻烦了最“临时” shell访问的需要)后
  • 使用screen、tmux等窗口软件。

我的问题是,前两个选项( using:sh与 using )的技术和实际差异是:sus什么?在Vim的帮助页面,它看起来像唯一不同的是,:sus你要么自动写出来的缓冲区(如果设定“autowrite”是集),或者你可能会失去自己编辑的缓冲区,如果你从来没有回到Vim,而与:sh你有没有选择而是在退出 shell 时返回到 Vim 会话。

是否存在任何其他差异,无论是技术上(例如内存和处理器使用)还是与生产力相关的原因,为什么 Vim 用户可能会在不同情况下选择一种方法而不是另一种方法?

vim vi shell

3
推荐指数
1
解决办法
1269
查看次数

标签 统计

vim ×2

cryptography ×1

dropbox ×1

encryption ×1

macos ×1

shell ×1

vi ×1