0

我正在使用 ZipArchive 库在我的 iOS 应用程序中解压缩/压缩文件。

我注意到当密码不正确时,UnzipOpenFile 不会返回 false。以下是来源。

有没有人有类似的问题?(我已经添加了我的评论)

    -(BOOL) UnzipOpenFile:(NSString*) zipFile
{
    _unzFile = unzOpen( (const char*)[zipFile UTF8String] );
    if( _unzFile )
    {
        unz_global_info  globalInfo = {0};
        if( unzGetGlobalInfo(_unzFile, &globalInfo )==UNZ_OK )
        {
            //NSLog([NSString stringWithFormat:@"%ld entries in the zip file",globalInfo.number_entry] );
            return true; // i have to add this myself here.
        }
    }
    return _unzFile!=NULL;
}

-(BOOL) UnzipOpenFile:(NSString*) zipFile Password:(NSString*) password
{
    _password = password;
    return [self UnzipOpenFile:zipFile];
}
4

1 回答 1

0

密码不影响打开档案的能力。该密码仅在您将文件提取或添加到存档时适用。这是因为密码仅适用于 .zipfile 中的文件,而不适用于 zipfile 本身。

如果要检查密码是否正确,则必须尝试提取其中一个文件。密码不正确会失败。

于 2014-07-21T11:26:44.803 回答