我们的项目正在使用JAVA,UI允许客户上传带有/不带密码的7-zip文件,要求是检查文件是否受密码保护。
我该怎么做?
提前致谢。
答案 0 :(得分:1)
如果您使用sevenzipjbind,当您获得ISevenZipInArchive时,您可以检查它是否具有ENCRYPTED属性
答案 1 :(得分:0)
使用sevenzipjbind仅仅仅检查Archive属性是不够的。您必须检查档案中每个项目的属性。
boolean isEncrypted(IInArchive archive) throws SevenZipException {
if (Boolean.TRUE.equals(archive.getArchiveProperty(PropID.ENCRYPTED))) return true;
for (int i=0;i<archive.getNumberOfItems();i++) {
if (Boolean.TRUE.equals(archive.getProperty(i,PropID.ENCRYPTED))) return true;
}
return false;
}