Linux下的文件加密

01利用 vim/vi 加密

优点:加密后,如果不知道密码,就看不到明文,包括root用户也看不了;
缺点:很明显让别人知道加密了,容易让别人把加密的文件破坏掉,包括内容破坏和删除;

Vim加密示例

首先用vim新建文件

vim 大表哥.txt

i进到编辑模式,输入完内容后按ESC,然后输入:X(注意是大写的X),回车;
这时系统提示让你输入密码,2次

:wq保存后退出,现在这个文件已经加密了;
用cat或more查看文件内容,显示为乱码;用 vim/vi 重新编辑这个文件,会提示输入密码,如果输入的密码不正确,同样会显示为乱码!

同样,当我们用vim编辑文档时,会提示输入密码。输入正确的密码后,才能进行编辑文档。
那么,如何去掉对文件的加密呢,我们只需要输入:set key=回车,保存文件即可!

02利用gzexe加密

gzexe是系统自带的加密程序,它不但加密,同时压缩文件。
优点:加密简单,方便。
缺点:不能自己设置密码,容易破解。

加密/解密

gzexe 22.txt #加密
gzexe -d 22.txt #解密

用tar命令 对文件加密压缩和解压

这个就很简单了,类似于Windows下的给压缩包添加密码一样。

加密

tar -czf - filename | openssl des3 -salt -k passwd | dd of=filename.des3

命令说明:
tar -czf - filename 命令中,-zc 指定对所给的文件使用 gzip 进行压缩。如果想用其他的压缩命令,可以改用对应的选项。-f -表示把创建的归档文件写入到标准输出,tar 命令可以把 - 当成文件名,并进行一些特殊处理。后面会具体说明。而 filename 是被打包压缩的文件名,可以提供多个文件名、或者目录名。
openssl des3 -salt -k passwd 命令指定用 des3 算法进行加密,-k passwd 指定加密加密,可以修改 passwd 成其他密码。
dd of=filename.des3 命令指定加密后的文件名为 filename.des3,可以修改成其他文件名。

加密示例

如下命令是对filename文件(22.txt)进行加密压缩,生成bbskali.des3加密压缩文件,666666为加密的密码

tar -zcf - 22.txt |openssl des3 -salt -k 666666 | dd of=22.txt.des3

解密

dd if=22.txt.des3 |openssl des3 -d -k 666666 | tar zxf - 

dd if=22.txt.des3 命令指定读取 22.txt.des3文件内容。
openssl des3 -d -k 666666命令表示使用 des3 算法进行解密。
解密之后的内容是之前 tar 命令生成的归档文件内容,会写入到标准输出,通过管道传递给后面 tar 命令的标准输入。
tar zxf - 命令表示从标准输入读取要提取的归档文件内容,提取出来的文件会写入到本地。

03 ZIP加密

和tar相比,zip加密就很简单了。
使用命令zip -e filename.zip filename 即可出现输入密码的提示,输入2次密码。 此文件即被加密。

zip -e 22.txt.zip 22.txt 


解压
执行命令后,会提示输入密码。

unzip 22.txt.zip

总结

文件加密是我们工作中不可少的一部分。不用的工具采用的加密方法和手段各有千秋。适合自己的才是最好的!

最后修改:2023 年 08 月 04 日
如果觉得我的文章对你有用,请随意赞赏