-
Notifications
You must be signed in to change notification settings - Fork 27
Expand file tree
/
Copy pathlearn-vi-27-crypt.html
More file actions
53 lines (47 loc) · 3.97 KB
/
learn-vi-27-crypt.html
File metadata and controls
53 lines (47 loc) · 3.97 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="zh" xml:lang="zh">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" type="text/css" href="learn-vi.css" />
<title>VIM学习笔记 使用密钥加密(cryptv)</title>
</head>
<body>
<h1>VIM学习笔记 使用密钥加密(cryptv)</h1>
<h2 class="article"><a id="opt_cryptmethod">算法</a></h2>
<p>如果<code class="inset">:version</code>命令的输出信息中包含了<em>+cryptv</em>选项, 那么说明你安装的Vim已经启用了加密功能。7.3之前的版本提供用于向后兼容的PkZip加密算法;自7.3版本开始提供较强的Blowfish加密算法;而从7.4.399版本开始支持更新的Blowfish2加密算法。</p>
<p><a href="https://yyq123.github.io/learn-vim/images/version-cryptv.png" title="version-cryptv"><img src="https://yyq123.github.io/learn-vim/images/version-cryptv.png" alt="version-cryptv" /></a></p>
<p>使用以下命令,可以查看当前使用的加密算法:</p>
<p><code class="inset">:set cm?</code></p>
<p>使用以下命令,可以切换使用的不同加密算法:</p>
<p><code class="inset">
:set cm=zip<br />
:set cm=blowfish<br />
:set cm=blowfish2<br />
</code></p>
<h2 class="article"><a id="encryption">加密</a></h2>
<p>使用Vim的-x启动参数,可以创建加密文件:</p>
<p><code class="inset">vim -x filename</code></p>
<p>Vim会要求你重复输入两次密钥。而当我们完成编辑并退出时,Vim就会对文本进行加密处理。此后,如果使用其它软件查看加密后的文件,那么将只会看到无意义的乱码;而如果使用Vim打开加密文件,则会要求输入密钥以正确显示内容。</p>
<h2 class="article"><a id="opt_key">解密</a></h2>
<p>使用以下命令将选项key置空,可以解除加密:</p>
<p><code class="inset">:set key=</code></p>
<p>也可以通以下命令修改key选项,来重置密钥:</p>
<p><code class="inset">:set key=secret</code></p>
<p>但以上命令将会以明文显示输入的密码,显然不够安全。而使用以下X(大写)命令,则会以星号*显示输入的密码,所以更加安全。</p>
<p><code class="inset">:X</code></p>
<p><a href="https://yyq123.github.io/learn-vim/images/X.png" title="X"><img src="https://yyq123.github.io/learn-vim/images/X.png" alt="X" /></a></p>
<h2 class="article"><a id="encryption_files">安全</a></h2>
<p>在编辑文件时所使用的交换文件(swap file)、撤销文件(undo file)和备份文件(backup file)也会同时被加密。当然也可以在命令行中利用-n参数,指定不使用<a href="http://yyq123.github.io/learn-vim/learn-vi-58-swap.html" title="swap">交换文件</a>:</p>
<p><code class="inset">vim -x -n filename</code></p>
<p>由于viminfo文件并不会被加密,所以可以使用以下命令禁用<a href="http://yyq123.github.io/learn-vim/learn-vi-59-01-viminfo.html" title="vimifo">viminfo</a>文件:</p>
<p><code class="inset">:set viminfo=</code></p>
<table summary="Commands" border="2" frame="hsides" rules="all" cellspacing="0" cellpadding="3">
<caption>命令小结</caption>
<tr><td><code class="inset">:set cm</code></td><td>设置加密算法</td></tr>
<tr><td><code class="inset">:set key</code></td><td>设置密钥</td></tr>
<tr><td><code class="inset">:X</code></td><td>加密文档</td></tr>
</table>
<p style="border-top:1px solid lightgray"><span style="float:right">Ver: 2.0 | <a href="mailto:[email protected]">YYQ</a></span><span><<a title="使用rot13加密" href="http://yyq123.github.io/learn-vim/learn-vim-rot13.html">上一篇</a> |<a title="笔记列表" href="http://yyq123.github.com/learn-vim/learn-vi-00-00-TOC.html"> 目录 </a>| <a title="多编码处理" href="http://yyq123.github.io/learn-vim/learn-vi-21-MultiEncodings.html">下一篇</a>></span></p>
</body>
</html>