zoukankan      html  css  js  c++  java
  • vim 加密(crypt)文本文档

    算法

    vim7.3版本支持两种加密方式——PKzip算法(已知有缺陷的)、Blowfish算法(从7.3版本开始支持)、Blowfish2算法(从7.4.399版本开始支持)
    而vim -x 默认采用PKzip算法加密。
    在保存之前可以通过“:setlocal cm=blowfish”来设置加密算法。也可以在启动设定文件中加入此语句,如同设置启动配色方案一样。

    blowfish算法跟MD5、SHA都计算的太快,就容易导致太容易破解(如果量子计算机突然取得突破的话,呵呵,目前还未突破)。本来以为vim是否会采用bcrypt算法,设置停顿时间,来让计算速度变得慢下来(正常使用感受不到,暴力破解时原先1秒破解的,现在大概需要3年吧...),可惜不是。

    结论:
    1、vim默认算法PKzip不适合加密太隐私的数据。
    2、采用新版vim,采用blowfish算法后,加密文件本身是安全的。但是由于交换文件(可以关闭)、内存缓存(未加密)是不安全的,也就是过程不安全,所以,如果需要严格保密,也不宜使用vim加密。
    3、vim加密过程还是挺容易误操作的(在不输入密码以乱码打开文件、以undo等方式操作文件过程中),且没有消息完整性验证机制,vim官方推荐加密要求高的用户采用PGP、GPG加密软件。

    如果:version命令的输出信息中包含了+cryptv 选项, 那么说明你安装的Vim已经启用了加密功能。7.3之前的版本提供用于向后兼容的PkZip加密算法;自7.3版本开始提供较强的Blowfish加密算法;而从7.4.399版本开始支持更新的Blowfish2加密算法

    vim --version | grep cryptv 
    +cryptv            +lispindent        +quickfix          +wildmenu

    使用以下命令,可以查看当前使用的加密算法:

    :set cm?

    使用以下命令,可以切换使用的不同加密算法:

    :set cm=zip
    :set cm=blowfish
    :set cm=blowfish2

    加密

    我们可以使用Vim的-x启动参数,创建加密文件:

    vim -x filename

    Vim会要求你重复输入两次密钥。而当我们完成编辑并退出时,Vim就会对文本进行加密处理。此后,如果使用其它软件查看加密后的文件,那么将只会看到无意义的乱码;而如果使用Vim打开加密文件,则会要求你输入密钥以正确显示内容。

    解密

    使用以下命令将选项key置空,解除加密:

    :set key=

    我们也可以通以下命令,重置密钥:

    :set key=secret

    但以上命令将会以明文显示输入的密码,显然不够安全。而使用以下X(大写)命令,则会以星号*显示输入的密码,所以更加安全。

    :X

    安全

    在编辑文件时所使用的交换文件(swap file)、撤销文件(undo file)和备份文件(backup file)也会同时被加密。当然我们也可以在命令行中利用-n参数,指定不使用交换文件(注意:不使用交换文件,我们也就不能够通过交换文件来恢复文件了。):

    vim -x -n filename

    由于viminfo文件并不会被加密,所以我们可以使用以下命令禁用vimifno文件:

    :set viminfo=
  • 相关阅读:
    ReentrantLock可重入锁的使用场景(转)
    可重入锁(good)
    AbstractQueuedSynchronizer的介绍和原理分析(转)
    Android DB类,支持MDB,SQLITE,SQLSERVER,支持查询、事务,对象直接插入和更新操作等
    sqlite 时间函数及时间处理
    android query 模糊查询
    Android 时间轴
    Android fastjson
    Android SQLite案例
    Android 查看和管理sqlite数据库
  • 原文地址:https://www.cnblogs.com/wpjamer/p/9503466.html
Copyright © 2011-2022 走看看