8.3 用密码保护压缩的Zip文档

-P

-e

Zip程序允许使用-P选项对生成的Zip文档增加密码保护。但是不应该使用这个选项,因为它一点儿也不安全,如下所示(实际密码是12345678):

  1. $ zip -P 12345678 moby.zip *.txt

因为是在命令行中直接指定密码,所以任何查看shell历史的人都能在列表中看到你在此输入的密码(其他人可以非常容易地做到这件事,这或许会让你感到很吃惊吧)。所以千万不要使用-P选项!

实际上应该使用的是-e选项,它能够对zip文件的内容进行加密,并设置密码。这两个选项的区别是,-e选项会提示你输入密码,这样密码就不会保存在shell事件的历史记录中了。

  1. $ zip -e moby.zip *.txt
  2. Enter password:
  3. Verify password:
  4. adding: job.txt (deflated 65%)
  5. adding: moby-dick.txt (deflated 61%)
  6. adding: paradise_lost.txt (deflated 56%)

使用这个选项时,唯一在shell事件历史中保存的部分只是zip -e moby.zip *.txt。真正输入的密码消失得无影无踪,任何查看shell历史记录的人都看不到。

警告 zip程序的密码保护所能提供的安全性并不算好。事实上,在因特网上可以很容易地找到很多工具,快速破解用密码保护的zip文档。可以把加了密码保护的zip文件想象成是在明信片上写的信息,再把它密封在信封中:对普通人来说,这种保护措施已经足够了;但这并不能阻止处心积虑的黑客。

此外,有些Linux发行版本中的zip还可能不支持加密。在这种情况下,将出现一个zip 错误:“encryption not supported(不支持加密)”。唯一的解决办法是:重新编译zip的源码。唉,真不幸!