WEB技术论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

搜索
热搜: ASP asp.net php
查看: 161|回复: 0
打印 上一主题 下一主题

PHP 数据通讯均采用AES/CBC/PKCS5Padding模式加密

[复制链接]

534

主题

541

帖子

2044

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2044
跳转到指定楼层
楼主
发表于 2018-8-12 17:03:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
class PayModels{
         var $iv="1111";
     
     //加密
     private function encrypt($encryptStr) {
            $localIV = $this->iv;
            $encryptKey = $this->iv;

            //Open module
            $module = mcrypt_module_open(MCRYPT_RIJNDAEL_128, '', MCRYPT_MODE_CBC, $localIV);

            //print "module = $module <br/>" ;

            mcrypt_generic_init($module, $encryptKey, $localIV);

            //Padding
            $block = mcrypt_get_block_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_CBC);
            $pad = $block - (strlen($encryptStr) % $block); //Compute how many characters need to pad
            $encryptStr .= str_repeat(chr($pad), $pad); // After pad, the str length must be equal to block or its integer multiples

            //encrypt
            $encrypted = mcrypt_generic($module, $encryptStr);

            //Close
            mcrypt_generic_deinit($module);
            mcrypt_module_close($module);

            return base64_encode($encrypted);

        }
      //解密
      private function decrypt($str){
            $localIV = $this->iv;
            $encryptKey = $this->iv;
            //Open module
            $module = mcrypt_module_open(MCRYPT_RIJNDAEL_128, '', MCRYPT_MODE_CBC, $localIV);
            //print "module = $module <br/>" ;

            mcrypt_generic_init($module, $encryptKey, $localIV);

            $encryptedData = base64_decode($str);
            $encryptedData = mdecrypt_generic($module, $encryptedData);
            return $encryptedData;
        }
    }
爱仿站的中年人
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

|手机版|码农集营 ( ) 深圳龙岗交友群

GMT+8, 2018-11-7 18:27 , Processed in 0.096131 second(s), 22 queries .

Powered by 码农集营 X3.4

快速回复 返回顶部 返回列表