ziparchive обнаружение пароля

Кто-нибудь знает способ определить, установлен ли пароль для zip-файла при попытке распаковать с помощью библиотеки ZipArchive?

Код:

[zip UnzipOpenFile:unzipFilename Password:zipPassword] 

буду:

  • распаковать файлы с паролем, если установлен zipPassword.

  • распаковать файлы без пароля, когда zipPassword равен нулю

НО

если я указываю пользователю выбрать zip-файл, мне нужно знать, запрашивать ли у пользователя пароль, если zip-файл есть, иначе все файлы в zip создаются, но с нулевой длиной.

Кажется грязным, чтобы сделать это, проверьте нулевую длину, и если это так, запросите у пользователя пароль для еще одной попытки?

Наверняка должен быть способ узнать, есть ли пароль у рассматриваемого zip-файла?


person user7865437    schedule 11.01.2012    source источник
comment
ты решил это? у меня та же проблема .   -  person Red Mak    schedule 06.08.2012
comment
Это 2015 год. Есть новости по этой ситуации?   -  person Drakes    schedule 04.08.2015


Ответы (1)


Я использую утилиту ZipArchive для импорта заархивированного файла в приложение Objective C. Часть кода

if ([za UnzipOpenFile:[url path] Password:@"XYZ"]){

     BOOL ret = [za UnzipFileTo: documentsDirectory overWrite: YES];

Я обнаружил, что мой заархивированный файл, защищенный паролем, распаковывается с помощью приведенного выше кода даже без использования пароля (используя [za UnzipOpenFile:[url path]]) или даже когда указан неверный пароль, как указано выше.

Заархивированный файл был создан с использованием опции zip -e на Mac. Есть ли какой-либо флаг, который необходимо установить, чтобы определение пароля работало?

person user1544267    schedule 05.10.2012
comment
Любое решение этого до сих пор? - person Drakes; 04.08.2015