在PHP 7.2 中從Mcrypt 遷移到OpenSSL
即將發布的PHP 7.2 版本將標誌著Mcrypt 擴展的棄用,促使開發人員擁抱更安全的OpenSSL 替代方案。本文研究了這一轉變,特別關注保留 AES 256 CBC 加密和 IV 所涉及的挑戰。
相容性問題
遷移中的主要障礙是不相容加密演算法。 Mcrypt 採用 Rijndael-256 演算法,而 OpenSSL 支援 AES-256,它是具有 256 位元金鑰的 Rijndael-128 的變體。因此,如果不重新加密所有數據,則無法直接轉換加密。
安全注意事項
問題中提供的 Mcrypt 程式碼存在多個漏洞,包括:
OpenSSL 自動應用PKCS#5 填充,但強烈建議採用強大的加密庫,如defuse/php-encryption,它提供額外的保護並簡化
實作
要遷移到OpenSSL,請考慮以下步驟:
透過解決這些相容性和安全問題,開發人員可以從 Mcrypt 無縫過渡到 OpenSSL,確保其資料的完整性和機密性PHP 7.2 及更高版本中的敏感資料。
以上是如何安全地將 PHP 應用程式從 Mcrypt 遷移到 OpenSSL?的詳細內容。更多資訊請關注PHP中文網其他相關文章!