在 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中文网其他相关文章!