php openssl加密解密函数

<?php

/**
 * openssl 加密函数
 * 
 * @ $entry 需要加密的内容
 * @ $key   加密的 key,需要与解密的 key 值要一致
 * @ $iv    盐值
 *
 * 加默认值是为了防止程序报错,实际使用中不要使用默认值
 */
function encrypt($entry, $key = 'viPTaL16hmhjs6LD', $iv = '0iX6Bsjt39SnM1aI7FE3'){
    $entry = serialize($entry);
    $data['iv'] = base64_encode(substr($iv,0,16));
    $data['value'] = openssl_encrypt($entry, 'AES-256-CBC',$key,0,base64_decode($data['iv']));
    $encrypt = base64_encode(json_encode($data));
    return $encrypt;
}

/**
 * openssl 解密函数
 * 
 * @ $encrypt 需解密的内容
 * @ $key     解密的 key,需要与加密的 key 值一致
 *
 *  加默认值是为了防止程序报错,实际使用中不要使用默认值
 */
function decrypt($encrypt, $key = 'viPTaL16hmhjs6LD'){
    $encrypt = json_decode(base64_decode($encrypt), true);
    $iv = base64_decode($encrypt['iv']);
    $decrypt = openssl_decrypt($encrypt['value'], 'AES-256-CBC', $key, 0, $iv);
    $result = unserialize($decrypt);
    if($result){
        return $result;
    }else{
        return 0;
    }
}

//key 值,不要用默认值
$key = 'xCjs52kKvSmfBYcwK3b1t2RT';
//盐值,不要用默认值
$iv = '1AMyFRwlPt6TJLxljpdSvQVn';

//原内容
$str = '清晨,一缕阳光从窗外照了进来,雨后的空气格外清新。';
$encry = encrypt($str, $key, $iv);

//加密后的内容
echo $encry . '<br>';
//解密后的内容
echo decrypt($encry, $key);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

冰雪青松

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

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

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

打赏作者

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

抵扣说明:

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

余额充值