如何检查上传的文件是否受密码保护?

时间:2013-11-19 09:57:52

标签: java api passwords

我们需要检查上传的文件是否受密码保护。文件类型可以是任何常见类型,如doc,xml,xls,pdf等......

此外,我不能使用第三方API,因为我们的安全策略不允许这样做。所以我们基本上只允许使用核心安全Java API。

提前致谢... 普拉迪普

1 个答案:

答案 0 :(得分:1)

文件没有特定的操作系统(据我所知常见的操作系统)属性,告诉你它受密码保护。

文件格式(以及大多数其他格式)的过程如下:

  • 相应的程序尝试打开文件(Word,Adobe Reader等)

  • 程序在解析文件时会注意到,设置了密码保护的特定于文件格式的标志。

  • 程序会显示密码提示,然后尝试解密

这意味着,您的选择是:

  1. 查阅您希望用户能够上传的所有文件格式的文档,并为每种文件格式实施解析,以确定自己是否已设置密码

  2. 将第三方库用于您要支持的文件格式,并让他们进行解析和密码保护检查。

  3. 选项1显然是一个巨大的开发成本。您的政策不允许使用选项2.

    我的建议是:放弃功能或重新考虑“没有第三方图书馆”的要求。第二个会更有意义,因为Java有大量的第三方库可以节省你自己开发功能的时间/天/月。