PHP7.1中如何将mcrypt加密方法替换为openssl实现详细步骤及实例?

2026-04-02 19:510阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1901个文字,预计阅读时间需要8分钟。

PHP7.1中如何将mcrypt加密方法替换为openssl实现详细步骤及实例?

在PHP开发中,mcrypt相关函数可方便地执行AES加密解密操作,但PHP7.1已废弃mcrypt扩展。因此,需要寻找其他实现方式。迁移手册已建议使用openssl替代mcrypt,但未给出具体示例。

在php开发中,使用mcrypt相关函数可以很方便地进行AES加、解密操作,但是PHP7.1中废弃了mcrypt扩展,所以必需寻找另一种实现。在迁移手册中已经指出了用openssl代替mcrypt,但未给出具体示例。网上有很多示例,可以替换大部分场景,但对于其中细节却并未说明。同样,简单地使用网上示例在某种代码场景下有可能导致代码替换前后的兼容问题,以下则来谈谈具体代码及原因。

首先我们直接给出替换的代码,再从代码中分析问题。(本文中分析的算法是AES-128-CBC)

替换示例

示例会展示两种mcrypt的使用方式,主要在于填充不同(在下文会解释填充)。在整个加、解密过程中,完整程度高一点代码则会自主实现填充、移除填充,简单一点代码会直接忽略填充,但两种方式均可正常运行;在实际开发中(7.1之前版本),建议加上填充。

阅读全文

本文共计1901个文字,预计阅读时间需要8分钟。

PHP7.1中如何将mcrypt加密方法替换为openssl实现详细步骤及实例?

在PHP开发中,mcrypt相关函数可方便地执行AES加密解密操作,但PHP7.1已废弃mcrypt扩展。因此,需要寻找其他实现方式。迁移手册已建议使用openssl替代mcrypt,但未给出具体示例。

在php开发中,使用mcrypt相关函数可以很方便地进行AES加、解密操作,但是PHP7.1中废弃了mcrypt扩展,所以必需寻找另一种实现。在迁移手册中已经指出了用openssl代替mcrypt,但未给出具体示例。网上有很多示例,可以替换大部分场景,但对于其中细节却并未说明。同样,简单地使用网上示例在某种代码场景下有可能导致代码替换前后的兼容问题,以下则来谈谈具体代码及原因。

首先我们直接给出替换的代码,再从代码中分析问题。(本文中分析的算法是AES-128-CBC)

替换示例

示例会展示两种mcrypt的使用方式,主要在于填充不同(在下文会解释填充)。在整个加、解密过程中,完整程度高一点代码则会自主实现填充、移除填充,简单一点代码会直接忽略填充,但两种方式均可正常运行;在实际开发中(7.1之前版本),建议加上填充。

阅读全文