2

我已将纯文本密码存储在配置文件中。有没有办法用 XXXXX 模糊或替换密码。

当我在 vim 中打开配置文件时,我想查看

密码 = XXXX

4

2 回答 2

6

在配置文件中隐藏密码的最简单和最安全的方法是

不要在文件中放入明文密码

任何使用 vim 进行描述的解决方案只会掩盖的密码。其他人可以在没有 vim 的情况下打开/读取文件,看到密码。

如果出于某种原因,这您想要的用例(例如,用于放映演示文稿,而您出于某些不虔诚的原因使用了观众可以用来现场利用某些内容的密码(您到底为什么要这样做),你可以写一个autocmd会掩盖等号之后的一切。

autocmd BufRead * silent! %s/=[^=]*$/=XXXX/

但是,请注意,这仅用于演示:文本实际上已被重写,您不希望保存此文件。

您的另一个选择是使用 7.3 的语法突出显示将文本标记为隐藏。

于 2014-05-08T13:06:20.447 回答
5

是的,使用 Vim 7.3 中引入的隐藏功能,您可以用一个替换字符替换匹配项。因此,您可以将整个密码压缩为单个*,或将每个字符替换为 a *(通过单独匹配每个密码字符)。

隐藏是通过语法高亮实现的。只要您的密码文件没有任何现有语法,这只是编写一个简单的syntax/password.vim语法脚本并执行

:setlocal syntax=password

集成到其他语法中更加困难。

详情请参阅:help :syn-conceal。此帮助页面还包含有关编写语法的所有信息。你会特别需要:help :syn-match.

隐藏的好处是您仍然可以在不显示原始密码文本的情况下将其拉出(例如到剪贴板)。和选项控制它'conceallevel''concealcursor'

更简单的选择

如果您只是想避免其他人从您的肩膀上读取您的密码,您可以为所有单独的登录条目(/段落)定义折叠,从关闭所有折叠开始,然后仅短暂打开单个当前折叠以供访问。

于 2014-05-08T13:03:21.060 回答