PHP笔记-AES加解密(PHP7)

Posted IT1995

tags:

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

运行截图:

首先要修改php.ini,这个php_openssl.dll要放开

构造工具类:

<?php


namespace vendor;


class EncryptionTool

    public static function enAES($originTxt, $key): string

        return base64_encode(openssl_encrypt($originTxt, 'AES-128-ECB',$key, OPENSSL_RAW_DATA));
    

    public static function deAES($originTxt, $key): string

        $data = base64_decode($originTxt);
        return openssl_decrypt($data,'AES-128-ECB',$key, OPENSSL_RAW_DATA);
    
    

这里要注意的地方。

AES有很多种加密方式如ECB、CBC、CTR、OFB、CFB

数据块有128位、192位、256位

填充方式有pkcs5padding、pkcs7padding、zeropadding、iso10126、ansix923、no padding。

php调用的openssl默认是采用pkcs7padding

调用代码如下:

$hello = "Hello World";

echo "原始数据: " . $hello . "<br/>";
$data = EncryptionTool::enAES($hello, "1234567891234567");
echo "加密后: " . $data . "<br/>";
echo "解密后: " . EncryptionTool::deAES($data, "1234567891234567") . "<br/>";

 

以上是关于PHP笔记-AES加解密(PHP7)的主要内容,如果未能解决你的问题,请参考以下文章

PHP AES加解密(兼容php5,php7)

PHP对称加密-AES

php aes加密解密类(兼容php5php7)

PHP的aes加解密算法

PHP如何实现AES加解密

python Crypto AES-256-ECB 与PHP之间完成加解密