Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/274.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
如何在Linux上从PHP创建与WinZip兼容的AES-256加密zip文件?_Php_Linux_Aes_Winzip - Fatal编程技术网

如何在Linux上从PHP创建与WinZip兼容的AES-256加密zip文件?

如何在Linux上从PHP创建与WinZip兼容的AES-256加密zip文件?,php,linux,aes,winzip,Php,Linux,Aes,Winzip,我必须从linux机器上的PHP应用程序创建一个与WinZip兼容的zip文件,它必须使用AES 256加密。我在Windows上找到了一些PHP解决方案,但它们对我没有帮助!PHP软件包很好,但如果需要,我可以让PHP代码运行exec()或运行linux命令行实用程序 有什么建议吗 如果您的主机上尚未安装Zip应用程序克隆,只需在Google上搜索是否安装了100个能够支持加密和跨平台兼容性的Zip应用程序中的一个即可 使用或类似的PHP函数调用任何可用的外部zip应用程序,该应用程序能够对目

我必须从linux机器上的PHP应用程序创建一个与WinZip兼容的zip文件,它必须使用AES 256加密。我在Windows上找到了一些PHP解决方案,但它们对我没有帮助!PHP软件包很好,但如果需要,我可以让PHP代码运行exec()或运行linux命令行实用程序

有什么建议吗

  • 如果您的主机上尚未安装Zip应用程序克隆,只需在Google上搜索是否安装了100个能够支持加密和跨平台兼容性的Zip应用程序中的一个即可
  • 使用或类似的PHP函数调用任何可用的外部zip应用程序,该应用程序能够对目标文件压缩并应用AES-256加密。您需要了解zip应用程序实现此功能所需的任何命令行开关。当然,“exec”字符串参数中的目标文件名可以使用变量进行切换
  • 提供您的新zip文件
  • 但是,如果不需要担心加密,请参阅PHP的Zip类以生成通用Zip文件:

    不是特定于PHP的(这个问题在没有PHP的google中排名很高): 7-Zip实现了此功能,在我的文档中我发现了以下命令:

    7za a -tzip -pPASSWORD -mem=AES256 target.zip filelist
    

    看起来您需要调用外部zip程序来应用加密。PHP的内置zip类可以在Linux或Windows上制作/提取通用zip文件,但似乎没有提到任何加密支持。似乎AES加密是一种特定的WinZIP功能,(请参阅),而不是zip文件领域公认的标准,这使得在不调用WinZIP的情况下使用PHP创建这样的归档文件变得非常困难,特别是在非windows机器上。这让我想:你到底为什么要这么做?可能有很多好的选择。脚本将在什么操作系统上运行,zip文件将在什么操作系统上打开?你想保护什么样的东西不受谁的伤害?为什么?简短的回答是Pelle ten Cate…我的客户指定了这些要求。我希望让他们同意一个对我来说更容易实现的微小变化。压缩重要文档有时可能与加密同时进行。这是一个既方便又安全的问题。因此,通常您会发现,一个简单的
    exec
    命令可以同时对文件执行压缩和加密。如果加密在当时并不重要,只需使用PHP的zip类即可。如果是,请调用外部zip应用程序来完成该工作。换句话说,Woot4Moo的答案并非完全错误。嗨,Jason,你有什么解决办法吗?如果你用你的答案编辑这个问题,那就太好了,如果你得到了答案:)这个问题是因为给定的标签而排名的