簡體   English   中英

PHP或C中的壓縮和加密

[英]Compression and encryption in PHP or C

給定10M字節流,我需要對其進行壓縮(gzip或其他方式)並對其進行加密(Rijndael-128),然后將其存儲在磁盤上。 在某些時候,也將需要反向操作。

這是Web應用程序的一部分,主要是用PHP開發的。 我已經用PHP編寫了幾行。 但是,我在考慮用C編寫此組件並從PHP調用它是否更好。 執行時間不是最相關的方面,但是內存使用率和CPU負載卻是。

基於此,是否值得將原始字節流寫入磁盤,然后在其上運行C / C ++程序進行壓縮和加密?

確保如果它是流,則將其作為流處理,並保持最少的資源(RAM)使用-即,不要將流作為大字節數組處理。 嘗試調整緩沖區大小。

如果速度不夠快,請編寫一個PHP庫,以使用C和AES-NI CPU指令進行流傳輸。 您可以使用PHP中已部署AES-NI的OpenSSL函數。 也可以使用Bothan,它是C ++的一個庫,專注於流支持,並且還使用AES-NI(如果有)。

無論您做什么,都不要將中間純文本寫入磁盤,這既不安全又會帶來不必要的I / O(+ OS訪問)瓶頸。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM