如何*正确*用PHP打开受密码保护的zip存档?

时间:2016-07-11 05:26:16

标签: php zip crc ziparchive

我试图用PHP打开一个受密码保护的zip文件,但我遇到了一些麻烦..这个想法是这样的......

  

客户提交密码 - > PHP检查密码是否正确   是,它返回“正确的密码”消息。

所以,我创建了一个名为 x.zip 的zip文件,将其密码设置为 1337 ,并尝试使用正确的密码用php打开它,它返回“正确”密码“消息,yay!,然后我尝试用不同的(错误的)密码打开它仍然返回”正确的密码“消息:| ..这是我用的代码..

<?php
$zip        = new ZipArchive();
$zip_status = $zip->open('test.zip');
$pws        = [1337, 1332, 1322];  # 1337 is the correct pass!

foreach ($pws as $pw) {
    if ($zip->setPassword($pw) && $zip->extractTo(__DIR__)) {
        echo "$pw is the correct password!\n";
        /* Output:

           1337 is the correct password
           1332 is the correct password

        */
    }
}

$zip->close();
?>

所以,我手动打开.zip,使用错误的密码,根据php也是一个“正确的密码”,它给了我一个CRC错误(不知何故,这是错误的密码错误)..怎么可以我处理了吗?

0 个答案:

没有答案