我正在使用
ZipArchive在iOS应用程序中提取zip文件,但是我想知道在打开文件之前它是否受密码保护,以便我可以将密码传递给UnZipOpenFile函数.
解决方法
zip文件的密码不在标题中记录
它以zip格式记录在单个文件条目中
它以zip格式记录在单个文件条目中
所以你需要检查zip中的所有文件
将此功能添加到ZipArchive
-(BOOL) UnzipIsEncrypted { int ret = unzGoToFirstFile( _unzFile ); if (ret == UNZ_OK) { do { ret = unzOpenCurrentFile( _unzFile ); if( ret!=UNZ_OK ) { return NO; } unz_file_info fileInfo ={0}; ret = unzGetCurrentFileInfo(_unzFile,&fileInfo,NULL,0); if (ret!= UNZ_OK) { return NO; } else if((fileInfo.flag & 1) == 1) { return YES; } unzCloseCurrentFile( _unzFile ); ret = unzGoToNextFile( _unzFile ); } while( ret==UNZ_OK && UNZ_OK!=UNZ_END_OF_LIST_OF_FILE ); } return NO; }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。