Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/254.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP使用密码解压,尽管密码错误但仍解压_Php_Cryptography_Zip - Fatal编程技术网

PHP使用密码解压,尽管密码错误但仍解压

PHP使用密码解压,尽管密码错误但仍解压,php,cryptography,zip,Php,Cryptography,Zip,我在使用phps ZipArchive时遇到问题 使用文档中的示例,我发现zip将在一个(目前特定的字符串)上提取,该字符串不是密码,给了我内容,但它们已损坏 我正在测试的zip只有一个文本文件,存档文件的密码为“uwotm8”,但代码接受“ccccca”作为密码,并将该文件提供给我(尽管文本已损坏),但其他所有内容都失败 为什么会这样?这是php的问题吗?是否有一种准确的方法给zip密码并检查它是否打开 谢谢 更新:我使用的是Windows 10上的PHP 7.0.10(通过wamp)你能澄清

我在使用phps ZipArchive时遇到问题

使用文档中的示例,我发现zip将在一个(目前特定的字符串)上提取,该字符串不是密码,给了我内容,但它们已损坏

我正在测试的zip只有一个文本文件,存档文件的密码为“uwotm8”,但代码接受“ccccca”作为密码,并将该文件提供给我(尽管文本已损坏),但其他所有内容都失败

为什么会这样?这是php的问题吗?是否有一种准确的方法给zip密码并检查它是否打开

谢谢


更新:我使用的是Windows 10上的PHP 7.0.10(通过wamp)

你能澄清一下“给了我文件,但在其他方面都失败了”吗?你使用的是哪个PHP版本?5.6有一个问题,当提供了错误的密码时,它会提取空文件(或覆盖现有文件),但我不知道它会提取损坏的文件。请参阅Windows 10上的@iainn PHP 7.0.10(通过wamp)。将更新问题以包括this@deceze我有一组随机密码用于测试,给了我一个带有“CCCCC a”密码的文件,但文件中的文本是损坏的/垃圾数据。代码表示它已经成功地用这个pw解压了它,其他所有的都失败了。我仍然不确定“其他所有失败”是什么意思…“其他”什么?无论如何……在某种程度上,错误的密码不会被拒绝是故意的,但只会导致垃圾。加密在某种程度上只是用随机噪声对字节进行异或运算。如果你用同样的噪声再次对它们进行异或运算,你会得到原来的结果。用其他东西对它们进行异或,你会得到随机噪声。这使得攻击加密数据变得更加困难,因为没有明显的迹象表明正确的答案是什么。你能澄清一下“给了我文件,但在其他方面都失败了”吗?你使用的是哪个PHP版本?5.6有一个问题,当提供了错误的密码时,它会提取空文件(或覆盖现有文件),但我不知道它会提取损坏的文件。请参阅Windows 10上的@iainn PHP 7.0.10(通过wamp)。将更新问题以包括this@deceze我有一组随机密码用于测试,给了我一个带有“CCCCC a”密码的文件,但文件中的文本是损坏的/垃圾数据。代码表示它已经成功地用这个pw解压了它,其他所有的都失败了。我仍然不确定“其他所有失败”是什么意思…“其他”什么?无论如何……在某种程度上,错误的密码不会被拒绝是故意的,但只会导致垃圾。加密在某种程度上只是用随机噪声对字节进行异或运算。如果你用同样的噪声再次对它们进行异或运算,你会得到原来的结果。用其他东西对它们进行异或,你会得到随机噪声。这使得攻击加密数据变得更加困难,因为没有明显的迹象表明正确答案是什么。