準備在 PHP 7.2 中棄用 Mcrypt
隨著 PHP 7.2 的出現,mcrypt 擴充功能預計將被刪除。雖然 openssl 提供了替代方案,但從 mcrypt 到 openssl 的過渡可能會帶來挑戰,特別是在旨在維護 AES 256 CBC 加密並保留 IV 時。
彌合從 Mcrypt 到 Openssl 的差距
核心問題在於 mcrypt 使用的 Rijndael-256 與AES-256 由 openssl 處理。由於 openssl 不支援 Rijndael-256,因此無法直接轉換。
為了解決這個問題,所有使用 Rijndael-256 加密的資料都必須使用 openssl 的 AES-256 重新加密。此過程需要仔細規劃,以避免資料遺失或損壞。
解決潛在漏洞
除了技術差異之外,提供的mcrypt 程式碼還示範了幾個必須緩解的漏洞在新的實作中:
採用安全加密實踐
雖然 openssl 提供自動 PKCS#5 填充,但建議使用強大的加密庫,例如 defuse/php-encryption。該庫解決了已識別的漏洞並提供了全面的加密解決方案。透過實施這些最佳實踐,您可以有效地過渡到 openssl 並維護資料的安全性。
以上是如何在 PHP 7.2 及更高版本中安全地從 MCrypt 遷移到 OpenSSL?的詳細內容。更多資訊請關注PHP中文網其他相關文章!