资讯专栏INFORMATION COLUMN

PHP7.1中AES加密解密方法 mcrypt_module_open()替换方案

cheukyin / 2444人阅读

摘要:扩展已经过时了大约年,并且用起来很复杂。因此它被废弃并且被所取代。从起它将被从核心代码中移除并且移到中。手册在迁移页面给出了替代方案就是用取代加密,支持加密要加密的数据加密加密后的数据解密要解密的数据加密解密后的数据可据需求,自行改编。

mcrypt 扩展已经过时了大约10年,并且用起来很复杂。因此它被废弃并且被 OpenSSL 所取代。 从PHP 7.2起它将被从核心代码中移除并且移到PECL中。

PHP手册在7.1迁移页面给出了替代方案,就是用OpenSSL取代MCrypt.

/**
 * [AesSecurity aes加密,支持PHP7.1]
 */
class AesSecurity
{
    /**
     * [encrypt aes加密]
     * @param    [type]                   $input [要加密的数据]
     * @param    [type]                   $key   [加密key]
     * @return   [type]                          [加密后的数据]
     */
    public static function encrypt($input, $key)
    {
        $data = openssl_encrypt($input, "AES-128-ECB", $key, OPENSSL_RAW_DATA);
        $data = base64_encode($data);
        return $data;
    }
    /**
     * [decrypt aes解密]
     * @param    [type]                   $sStr [要解密的数据]
     * @param    [type]                   $sKey [加密key]
     * @return   [type]                         [解密后的数据]
     */
    public static function decrypt($sStr, $sKey)
    {
        $decrypted = openssl_decrypt(base64_decode($sStr), "AES-128-ECB", $sKey, OPENSSL_RAW_DATA);
        return $decrypted;
    }
}

可据需求,自行改编。

原文 http://www.tech1024.cn/origin...

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/30640.html

相关文章

  • PHP7.1使用openssl替换mcrypt

    摘要:大家可以根据代码不同的填充方式来选择不同的替换方案,但其中有三个细节需要说明为什么要有填充用替换后算法的名称为何不同接下来会则会具体分析填充算法。 PHP7.1中使用openssl替换mcrypt 在php开发中,使用mcrypt相关函数可以很方便地进行AES加、解密操作,但是PHP7.1中废弃了mcrypt扩展,所以必需寻找另一种实现。在迁移手册中已经指出了用openssl代替mcr...

    dockerclub 评论0 收藏0
  • PHP7.1废弃加密方法替换方案

    摘要:废弃加密方法替换方案前瞻最近,我负责在重构项目的支付渠道,因为之前都是接一个渠道在的方式,代码显的比较混乱,恰巧整体项目在微服务化,所以我们决定将支付做成一个微服务,独立出来。 PHP7.1废弃加密方法替换方案 前瞻 最近,我负责在重构项目的支付渠道,因为之前都是接一个渠道在ifelse的方式,代码显的比较混乱,恰巧整体项目在微服务化,所以我们决定将支付做成一个微服务,独立出来。当前比...

    afishhhhh 评论0 收藏0
  • 微信小程序加密数据(encryptedData)解密的PHP代码,php7.1报错

    摘要:问题描述最近在开发微信小程序涉及到加密数据的解密用的是代码在运行后报错提示方法已过时了经研究得知是版本引起的可以使用方法代替解密首先要知道微信方使用的是加密的所以我们采用也应该对应对密文进行解密需要解密的密文解密的初始向量解密得到的明文 问题描述 最近在开发微信小程序涉及到加密数据(encryptedData)的解密,用的是PHP代码,在运行后报错mcrypt_module_ xxx ...

    zebrayoung 评论0 收藏0
  • 密码学之DES/AES算法

    摘要:填充算法与基本上是可以通用的。年,高级加密标准已然成为对称密钥加密中最流行的算法之一。常用库介绍是一个功能强大的加密算法扩展库。为提供了各种各样的加密算法。目前已支持的算法包括是使用编写的加密工具包。 本文示例代码详见:https://github.com/52fhy/cryp... DES DES全称为Data Encryption Standard,即数据加密标准,是一种使用密钥加...

    Shonim 评论0 收藏0

发表评论

0条评论

cheukyin

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<