vim杂谈(六)之文件加密

前言:加密的目的我就不多说了,下面讲解各种加密的方法

一   vim加密

(1)设置密码

(1)vim 编辑文件  --> 输入 "大写的:X" 命令, 然后回车

 '等价加密方式' --> vim -x'命令行小写' 编辑文件

(2) '然后输入两次密码'进行确认  --> 所键入的字符将用'星号'代替,为了避免由于打字错误引起麻烦,Vim 要求你再'输入一次密码'进行确认

---  另外'不建议'的方式  ---

设定 'key' 选项来启用加密,此方法不好的原因:因为密码会被明文'显示在屏幕上',任何人都可以'偷看到你的'密码

注意:加密之后保存的时候必须是wq的方式保存ZZ的方式不行

(2)打开加密文件

vim 编辑文件  --> '提示输入密码'

(3)加密后如果不解密查看内容乱码

设置密码后, 用 'cat, more来查看', "不会提示你输入密码"! 只会显示'乱码'

如果你'试图用另一个程序来阅读'这个文件,你将读到'一堆乱码'

如果你用 Vim 来编辑这个文件,但'输入了错误的密码',你也只能得到乱码

Vim 并'不具备检验密码正确性'的机理 (这一点使得'破译密码'更为困难)

(4)清除密码

'方法一': 使用命令: set key=

'方法二': 同设置密码时一样, 输入命令: X , 然后'设置空密码', 直接'回车两次'

'核心:'  把密码'留空'

(5)加密的局限性

        Vim 采用的加密算法有弱点的,它对于防止偷窥者是绰绰有余了,但不足以防止一个手上有大量时间的密码专家。而且交换文件是不加密的;所以当你在编辑文件时,拥有超级用户权限的人能够读取未经加密的文件文本

(6)安全

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

       注意:不使用交换文件,我们也就不能够通过交换文件恢复文件

vim -x -n filename

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

:set viminfo=

(7)批量加密

#!/bin/bash
# Encrypt file with vim

if (test $# -lt 2) then
  echo Usage: decrypt password filename
else
# $1是加密的字符串,$2是加密的文件
vim -e -s -c ":set key=$1" -c ':wq' $2
echo "$2 encrypted."
fi

vim几个命令参数

-e:  Start Vim in 'Ex mode'

-s:  安静'批处理'模式 (只能与 "ex" 一起使用) 

-c: 加载'read'第一个文件后执行'command'

测试效果

# 数组的形式,这里最好加上""

for file in *.txt 

do 
    encrypt test $file 

done

---    '分割线'    ---

encrypt'加密的脚本' --> test'加密的字符串' $file'待加密的文件' 

补充:这里'加密字符用了明文',不安全,这里仅仅'用来测试'  -->后续可以通过read -s的形式读入一个变量

补充:忘记密码凉凉了

悬念:vim命令行执行vimscript脚本操作文件

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值