我们的项目使用的是JAVA,UI允许客户上传带/不带密码的7-zip文件,要求是检查文件是否受密码保护。
我该怎么做?
提前谢谢。
如果你使用 sevenzipjbind,当你得到 ISevenZipInArchive 时,你可以检查它是否具有 ENCRYPTED 属性
使用 sevenzipjbind 仅检查存档属性是不够的。您必须检查存档中每个项目的属性。
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;
}