【发布时间】:2010-10-21 14:47:25
【问题描述】:
我必须从 Linux 机器上的 PHP 应用程序创建一个 WinZip 兼容的 zip 文件,并且它必须使用 AES 256 加密。我在 Windows 上找到了一些 PHP 解决方案,但它们对我没有帮助! PHP 包会很棒,但如果需要,我总是可以让我的 PHP 代码运行 exec() 或其他东西来运行 linux 命令行实用程序。
有什么建议吗?
【问题讨论】:
-
看起来您需要调用外部 zip 程序来应用加密。 PHP 的内置 zip 类可以很好地在 Linux 或 Windows 上制作/提取通用 zip 文件,但似乎没有提及任何加密支持。
-
似乎 AES 加密是一种特定的 WinZIP 功能(请参阅winzip.com/aes_info.htm),而不是 ZIP 文件世界中广泛认可的标准,这使得在没有调用 WinZIP,尤其是在非 Windows 机器上。这让我想:你到底为什么要这样做?可能有很多不错的选择。您的脚本将在什么操作系统上运行,以及 zip 文件将在什么操作系统上打开?你想保护什么类型的东西,为什么?
-
简短回答 Pelle 10 Cate...我的客户已指定这些要求。我希望让他们同意我更容易实施的细微变化。
-
压缩重要文件有时可能会同时加密它们。这是一个方便与安全相结合的问题。因此,您通常会发现一个简单的
exec命令可以连接到外部 zip 应用程序,以同时对您的文件进行压缩和加密。如果当时加密并不重要,只需使用 PHP 的 zip 类即可。如果是,请调用外部 zip 应用程序来完成这项工作。换句话说,Woot4Moo 的答案并不完全正确。 -
嗨,Jason,您对此有什么解决方案吗?如果你用你的答案编辑问题会很棒,如果你明白了:)