2

ライブラリで解凍しようとしたときに、zipファイルにパスワードが設定されているかどうかを検出する方法を知っている人はいますZipArchiveか?

コード:

[zip UnzipOpenFile:unzipFilename Password:zipPassword] 

意思:

  • zipPassword が設定されている場合、パスワードを使用してファイルを解凍します。

  • zipPassword が nil の場合、パスワードなしでファイルを解凍します

しかし

ユーザーにzipファイルを選択するように指示する場合、zipファイルにパスワードがある場合、ユーザーにパスワードの入力を求めるかどうかを知る必要があります。そうでない場合、zip内のすべてのファイルが作成されますが、長さはゼロです。

これを行うのは面倒です。長さがゼロであることを確認し、そうであれば、ユーザーにもう一度パスワードを入力するように求めますか?

問題の zip ファイルにパスワードが設定されているかどうかを確認する方法があるはずです。

4

1 に答える 1

0

ZipArchive ユーティリティを使用して、Zip ファイルを Objective C アプリケーションにインポートしています。コードの一部は

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

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

パスワードを使用せずに ( [za UnzipOpenFile:[url path]] を使用して)、または上記のように間違ったパスワードを指定した場合でも、パスワードで保護された zip ファイルが上記のコードによって解凍されることがわかりました。

zip ファイルは、Mac で zip -e オプションを使用して作成されました。パスワード検出を機能させるために設定する必要があるフラグはありますか?

于 2012-10-05T02:59:36.140 に答える