最近在工作中负责对接 API,数据接口交互过程中,不可避免会有一些敏感数据的传输,为了使数据交互更加安全,因此对数据进行加密。

对方的要求是对接口的业务数据进行 AES-128-CBC-PKCS5Padding 加密,然后再做 Base64编码将得到的最终字符串进行提交,也给到了加密方式对应的密钥(key)和初始化向量(偏移量)。

首先看到这个加密方式之后,就在PHP函数库中进行寻找,看看有没有对应的加密函数,然而找了一圈下来,发现并没有,需要自己实现,后了解到可以用 mcrypt 函数扩展实现,但是 mcrypt函数 自 PHP 7.1.0 起就废弃了,强烈建议不要使用本函数,只好再寻找其他加密函数库,在手册的下方看到了 OpenSSL 函数,通过了解 openssl_encrypt(加密数据) 函数发现可以实现需求,openssl_encrypt 具体的使用方法请自行看手册【

一文详解PHP怎么实现AES-128-CBC-PKCS5Padding加密