PHP7和CryptoJS的AES加密方式互通 AES-128-ECB

PHP类:
class AES
{

    /**
     *
     * @param string $string 需要加密的字符串
     * @param string $key 密钥
     * @return string
     */
    public static function encrypt($string, $key)
    {

        // openssl_encrypt 加密不同Mcrypt,对秘钥长度要求,超出16加密结果不变
        $data = openssl_encrypt($string, 'AES-128-ECB', $key, OPENSSL_RAW_DATA);

        return base64_encode($data);
    }


    /**
     * @param string $string 需要解密的字符串
     * @param string $key 密钥
     * @return string
     */
    public static function decrypt($string, $key)
    {
        return openssl_decrypt(base64_decode($string), 'AES-128-ECB', $key, OPENSSL_RAW_DATA);
    }


    /**
     * 获取秘钥
     * @return string
     */
    public static function getSecretKey()
    {
       $str='xxx';//生成16位的字符窜
        return $str;
    }
}

JS的写法:


你可能感兴趣的:(php)