php使用openssl_encrypt和openssl_decrypt进行AES加密解密

本文介绍了使用PHP的openssl_encrypt和openssl_decrypt方法进行数据加密和解密的过程。详细解释了各参数的意义,包括加密数据、算法选择、密钥、初始化向量等,并提供了具体的代码示例。

openssl_encrypt方法参数介绍:

//加密
function openssl_encrypt($data, $cipher_algo, $passphrase, $options = 0, $iv = "", &$tag = null, $aad = "", $tag_length = 16) { }

 $data:要加密的数据;

$cipher_algo:你要使用的算法,可以打印openssl_get_cipher_methods()的结果查看所有算法;

$passphrase:加密要使用的key,这个可以自定义,也可以随机生成,但是要注意key字节的长度跟$cipher_algo有关。

$options:这个只有两个选项,OPENSSL_RAW_DATA和OPENSSL_ZERO_PADDING,任选一个即可

$iv:你自己定义的非空的字符串

openssl_decrypt参数与openssl_encrypt基本相同,只有$data不同,openssl_encrypt的$data是待加密的数据,openssl_decrypt的$data是待解密的数据

话不多说,直接上代码:

//加密
public function encrypt($data)
{

    if ($data== null || empty($data)) {
        return $data;
    }
    $secret_key = "your key";
    $iv = "your iv";
    $result= base64_encode(openssl_encrypt( $data, "aes-256-cbc", $secret_key, OPENSSL_RAW_DATA, $iv));

    return $result;
    
}

//解密
public function decode($data)
{
    if ($data== null || empty($data)) {
        return $data;
    }
    $secret_key = "your key";
    $iv = "your iv";
    $result= openssl_decrypt(base64_decode($data), "aes-256-cbc", $secret_key, OPENSSL_RAW_DATA, $iv);

    return $result;
   
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

对这是我的昵称

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值