aes加密

Posted mzli

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了aes加密相关的知识,希望对你有一定的参考价值。

aes介绍:

高级加密标准(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);
    }
}

以上是关于aes加密的主要内容,如果未能解决你的问题,请参考以下文章

使用ffmpeg视频切片并加密

更新实现代码对称加密与解密剖析:AES,高级加密标准(Advanced Encryption Standard,缩写AES)

QT:AES-256-CBC 根据 PHP 代码在 C++ 中加密/解密

JAVA AES加密

Java aes加密C#解密的取巧方法

正确使用AES对称加密