高级加密标准(AES,Advanced Encryption Standard)为最常见的对称加密算法(微信小程序加密传输就是用这个加密算法的)。对称加密算法也就是加密和解密用相同的密钥,具体的加密流程如下图:
在与第三方对接推送的时候,对方要求我们将推送数据通过aes加密以及urlencode后传输给对方
加解密:
<?php /** * Desc: aes加解密 * Author: liushuai * Email: shuai.liu@360che.com * Date: 2020/4/8 15:59 */ class Aes { /** * Desc: 加密 * Author: liushuai * Email: shuai.liu@360che.com * Date: 2020/4/9 09:51 * @param $data 被加密数据 * @param $key 加密key * @return string */ public static function encrypt($data, $key) { $data = openssl_encrypt($data, 'aes-128-ecb', $key, OPENSSL_RAW_DATA); return base64_encode($data); } /** * Desc: 解密 * Author: liushuai * Email: shuai.liu@360che.com * Date: 2020/4/9 09:51 * @param $data 被加密数据 * @param $key 加密key * @return false|string */ public static function decrypt($data, $key) { $encrypted = base64_decode($data); return openssl_decrypt($encrypted, 'aes-128-ecb', $key, OPENSSL_RAW_DATA); } }