PHP使用OpenSSL的3DES加密

本文介绍了在PHP7及以上版本中,由于mcrypt扩展被弃用,如何使用OpenSSL实现3DES加密的方法。作者分享了自己在找不到现成解决方案后,通过调整代码完成的3DES加密过程。
摘要由CSDN通过智能技术生成

之前的项目用的3des是基于mcrypt_xxxx的,一上到php7就挂掉。

php7及之后已经正式舍弃这个加密扩展,在写新项目基于php7的,所以指定的3des加密就用OpenSSL实现。

网上我是没找到现成的,所以改动下得到下面的代码:

<?php

class OpenSSL3DES
{
    
    /*密钥,22个字符*/
    const KEY='www.csdn.net@@@hyz8970';
    /*向量,8个或10个字符*/
    const IV='@hyz8970';

    /**
     * 加密
     * @param boolean $status 是否加密
     * @return string 处理过的数据
     */
    public static function encrypt($data,$status=false){
        if ($status){
            return base64_encode(openssl_encrypt($data, 'des-ede3-cbc', self::KEY, OPENSSL_RAW_DATA, self::IV));
        }
       return $data;
    }

    /**
     * 解密
     * @return string 加密的字符串不是完整的会返回空字符串值
     */
    public static function decrypt($data,$status=false){
        if ($status){
            return openssl_decrypt(base64_decode($data), 'des-ede3-cbc', self::KEY, OPEN
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值