我们需要检查上传的文件是否受密码保护。文件类型可以是任何常见类型,如doc,xml,xls,pdf等......
此外,我不能使用第三方API,因为我们的安全策略不允许这样做。所以我们基本上只允许使用核心安全Java API。
提前致谢... 普拉迪普
答案 0 :(得分:1)
文件没有特定的操作系统(据我所知常见的操作系统)属性,告诉你它受密码保护。
文件格式(以及大多数其他格式)的过程如下:
相应的程序尝试打开文件(Word,Adobe Reader等)
程序在解析文件时会注意到,设置了密码保护的特定于文件格式的标志。
程序会显示密码提示,然后尝试解密
这意味着,您的选择是:
查阅您希望用户能够上传的所有文件格式的文档,并为每种文件格式实施解析,以确定自己是否已设置密码
将第三方库用于您要支持的文件格式,并让他们进行解析和密码保护检查。
选项1显然是一个巨大的开发成本。您的政策不允许使用选项2.
我的建议是:放弃功能或重新考虑“没有第三方图书馆”的要求。第二个会更有意义,因为Java有大量的第三方库可以节省你自己开发功能的时间/天/月。