PHP实现3DES(ECB模式)加密

本文介绍了如何在PHP7及以上版本中,由于mcrypt扩展库已废弃,改用openssl扩展来实现3DES加密的ECB模式。通过示例代码展示了加密过程,并给出了加密结果19bd70bcf1855728。
摘要由CSDN通过智能技术生成

最近公司项目需要用php对数据进行3des加密,输入输出为十六进制。网上的方法大部分都是基于mcrypt扩展库,php7开始已经废弃,所以使用openssl扩展进行加密。贴上代码记录一下,ECB模式:

class ThreeDesUtil
{
    private static $Algorithm = 'DES-EDE3';//定义加密算法

    /**
     * 创建密钥,长度为24字节
     * @param $key
     * @return bool/string
     */
    static function createKeyBytes($key){
        $dest='';
        $temp=self::hexStringToBytes($key);
        try{
            if(strlen($temp)<24){
                $dest=substr($temp,0,strlen($temp));
                $dest.=substr($temp,0,24-strlen($temp));
            }
        }catch (Exception $exception){
            $exception->getTrace();
        }
        return $dest;
    }

    /**
     * 加密,ecb模式
     * @param $key  密钥
     * @param $src  被加密的数据缓冲区(明文)  十六进制
     * @return null|string  加密后的密文  十六进制
     */
    public static function encryptMode($k
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值