8.3 用密码保护压缩的Zip文档
-P
-e
Zip程序允许使用-P
选项对生成的Zip文档增加密码保护。但是不应该使用这个选项,因为它一点儿也不安全,如下所示(实际密码是12345678
):
$ zip -P 12345678 moby.zip *.txt
因为是在命令行中直接指定密码,所以任何查看shell历史的人都能在列表中看到你在此输入的密码(其他人可以非常容易地做到这件事,这或许会让你感到很吃惊吧)。所以千万不要使用-P
选项!
实际上应该使用的是-e
选项,它能够对zip文件的内容进行加密,并设置密码。这两个选项的区别是,-e
选项会提示你输入密码,这样密码就不会保存在shell事件的历史记录中了。
$ zip -e moby.zip *.txt
Enter password:
Verify password:
adding: job.txt (deflated 65%)
adding: moby-dick.txt (deflated 61%)
adding: paradise_lost.txt (deflated 56%)
使用这个选项时,唯一在shell事件历史中保存的部分只是zip -e moby.zip *.txt
。真正输入的密码消失得无影无踪,任何查看shell历史记录的人都看不到。
警告 zip程序的密码保护所能提供的安全性并不算好。事实上,在因特网上可以很容易地找到很多工具,快速破解用密码保护的zip文档。可以把加了密码保护的zip文件想象成是在明信片上写的信息,再把它密封在信封中:对普通人来说,这种保护措施已经足够了;但这并不能阻止处心积虑的黑客。
此外,有些Linux发行版本中的zip还可能不支持加密。在这种情况下,将出现一个zip 错误:“encryption not supported(不支持加密)”。唯一的解决办法是:重新编译zip的源码。唉,真不幸!