php5.6.9 mcrypt_generic(): 41 is not a valid MCrypt resource

查看:335
本文介绍了php5.6.9 mcrypt_generic(): 41 is not a valid MCrypt resource的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

报错内容

[31-Oct-2016 15:09:32 Asia/Shanghai] PHP Warning:  mcrypt_generic(): 41 is not a valid MCrypt resource in E:\php\developer\dev\yungou\system\modules\pay\lib\jdpay\common\TDESUtil.php on line 111
[31-Oct-2016 15:09:32 Asia/Shanghai] PHP Warning:  mcrypt_generic_deinit(): 41 is not a valid MCrypt resource in E:\php\developer\dev\yungou\system\modules\pay\lib\jdpay\common\TDESUtil.php on line 113
[31-Oct-2016 15:09:32 Asia/Shanghai] PHP Warning:  mcrypt_module_close(): 41 is not a valid MCrypt resource in E:\php\developer\dev\yungou\system\modules\pay\lib\jdpay\common\TDESUtil.php on line 115
[31-Oct-2016 15:09:32 Asia/Shanghai] PHP Warning:  mcrypt_generic(): 42 is not a valid MCrypt resource in E:\php\developer\dev\yungou\system\modules\pay\lib\jdpay\common\TDESUtil.php on line 111
[31-Oct-2016 15:09:32 Asia/Shanghai] PHP Warning:  mcrypt_generic_deinit(): 42 is not a valid MCrypt resource in E:\php\developer\dev\yungou\system\modules\pay\lib\jdpay\common\TDESUtil.php on line 113
[31-Oct-2016 15:09:32 Asia/Shanghai] PHP Warning:  mcrypt_module_close(): 42 is not a valid MCrypt resource in E:\php\developer\dev\yungou\system\modules\pay\lib\jdpay\common\TDESUtil.php on line 115
[31-Oct-2016 15:09:32 Asia/Shanghai] PHP Warning:  mcrypt_generic(): 43 is not a valid MCrypt resource in E:\php\developer\dev\yungou\system\modules\pay\lib\jdpay\common\TDESUtil.php on line 111
[31-Oct-2016 15:09:32 Asia/Shanghai] PHP Warning:  mcrypt_generic_deinit(): 43 is not a valid MCrypt resource in E:\php\developer\dev\yungou\system\modules\pay\lib\jdpay\common\TDESUtil.php on line 113
[31-Oct-2016 15:09:32 Asia/Shanghai] PHP Warning:  mcrypt_module_close(): 43 is not a valid MCrypt resource in E:\php\developer\dev\yungou\system\modules\pay\lib\jdpay\common\TDESUtil.php on line 115
[31-Oct-2016 15:09:32 Asia/Shanghai] PHP Warning:  mcrypt_generic(): 44 is not a valid MCrypt resource in E:\php\developer\dev\yungou\system\modules\pay\lib\jdpay\common\TDESUtil.php on line 111
[31-Oct-2016 15:09:32 Asia/Shanghai] PHP Warning:  mcrypt_generic_deinit(): 44 is not a valid MCrypt resource in E:\php\developer\dev\yungou\system\modules\pay\lib\jdpay\common\TDESUtil.php on line 113
[31-Oct-2016 15:09:32 Asia/Shanghai] PHP Warning:  mcrypt_module_close(): 44 is not a valid MCrypt resource in E:\php\developer\dev\yungou\system\modules\pay\lib\jdpay\common\TDESUtil.php on line 115
[31-Oct-2016 15:09:32 Asia/Shanghai] PHP Warning:  mcrypt_generic(): 45 is not a valid MCrypt resource in E:\php\developer\dev\yungou\system\modules\pay\lib\jdpay\common\TDESUtil.php on line 111
[31-Oct-2016 15:09:32 Asia/Shanghai] PHP Warning:  mcrypt_generic_deinit(): 45 is not a valid MCrypt resource in E:\php\developer\dev\yungou\system\modules\pay\lib\jdpay\common\TDESUtil.php on line 113

使用源码

// 加密算法
    public static function encrypt($input, $key) {
        $size = mcrypt_get_block_size ( 'des', 'ecb' );
        $td = mcrypt_module_open ( MCRYPT_3DES, '', 'ecb', '' );
        $iv = @mcrypt_create_iv ( mcrypt_enc_get_iv_size ( $td ), MCRYPT_RAND );
        // 使用MCRYPT_3DES算法,cbc模式
        @mcrypt_generic_init ( $td, $key, $iv );
        // 初始处理
        $data = mcrypt_generic ( $td, $input );
        // 加密
        mcrypt_generic_deinit ( $td );
        // 结束
        mcrypt_module_close ( $td );
        
        return $data;
    }
    public static function decrypt($encrypted, $key) {
        //$encrypted = base64_decode($encrypted);
        $td = mcrypt_module_open ( MCRYPT_3DES, '', 'ecb', '' ); // 使用MCRYPT_DES算法,cbc模式
        $iv = @mcrypt_create_iv ( mcrypt_enc_get_iv_size ( $td ), MCRYPT_RAND );
        $ks = mcrypt_enc_get_key_size ( $td );
        @mcrypt_generic_init ( $td, $key, $iv ); // 初始处理
        $decrypted = mdecrypt_generic ( $td, $encrypted ); // 解密
        mcrypt_generic_deinit ( $td ); // 结束
        mcrypt_module_close ( $td );
        //$y = TDESUtil::pkcs5Unpad ( $decrypted );
        return $decrypted;
    }

解决方案

报错信息都精确到代码行了,去看看。

这篇关于php5.6.9 mcrypt_generic(): 41 is not a valid MCrypt resource的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆