压缩和加密在PHP或C
Compression and encryption in PHP or C
给定一个10M的字节流,我需要压缩它(gzip或其他)并加密它(Rijndael-128),然后将其存储在磁盘上。在某些情况下,也需要反向操作。
这是一个web应用程序的一部分,主要用PHP开发。我已经用PHP写了几行。然而,我在想是否用C编写这个组件并从PHP调用它会更好。执行时间不是最相关的方面,内存使用和CPU负载才是。
基于此,是否值得将原始字节流写入磁盘,然后在其上运行C/c++程序进行压缩和加密?
确保如果是一个流,那么将其作为流处理,并将资源(RAM)使用保持在最小-即不要将流作为一个巨大的字节数组处理。尝试调整缓冲区大小。
如果速度不够快,可以使用C和AES-NI CPU指令编写一个PHP库。您可以使用已经部署了AES-NI的PHP中的OpenSSL函数。Bothan也可以使用,它是一个c++库,专注于流支持,如果可用,它也使用AES-NI。
无论如何,不要将中间明文写入磁盘,这既不安全,又会引入不必要的I/O (+ OS访问)瓶颈。
相关文章:
- AES加密到解密未正确输出
- 加密++验证大文件签名
- 通过 Openssl 命令行加密,通过 c++ 解密
- 如何在加密++中将两个源组合成新的源
- 将加密消息从 php 发送到 C++ 应用程序,然后使用 CryptoPP 进行解密
- QT:AES-256-CBC 根据 PHP 代码在C++中加密/解密
- 生成可以在PHP中加密的密钥,该密钥可以直接放置在C 代码中以进行解密
- C ++中的加密和PHP中的解密有什么问题
- OPENSSL Blowfish CBC加密与PHP不同,C++
- 如何在C++中加密数据并在PHP中解密
- PHP加密和Windows解密
- 从php到c++的加密和解密
- 我可以用C++解密通过PHP加密的数据吗
- 将XOR加密代码移植到PHP
- 使用OpenSSL/C++和PHP/Mcrypt进行AES-128-CBC加密:仅对第一个块进行解密
- PHP 中的 XTEA 加密和 C 语言中的解密
- 压缩和加密在PHP或C
- 在c++中发出加密字符串,在PHP中发出解密
- PHP 服务器和 C++ 客户端中的异或加密
- JavaScript, Java, Php或c++密码加密-修改算法