wecenter 点管理进入后台的时候 弹出页面提示crypt.php有错误代码

2018年2月21日

wecenter 点管理进入后台的时候 弹出页面提示crypt.php有错误代码,弹出地址是:域名/?/admin/
提示:
PHP Warning: mdecrypt_generic(): An empty string was passed in D:\freehost\yiguxi\web\fangshanzhai\system\core\crypt.php on line 58 PHP Warning: gzuncompress(): data error in D:\freehost\yiguxi\web\fangshanzhai\system\core\crypt.php on line 63

新安装的wecenter,其他页面正常,请问怎么解决,哪位指点一下,谢谢!

已解决,方法:直接输入地址:你的域名/?/admin/login/

crypt.php 代码:

<?php
/*
+--------------------------------------------------------------------------
|   WeCenter [#RELEASE_VERSION#]
|   ========================================
|   by WeCenter Software
|   © 2011 - 2014 WeCenter. All Rights Reserved
|   [url=http://www.wecenter.com]http://www.wecenter.com[/url]
|   ========================================
|   Support: WeCenter@qq.com
|
+---------------------------------------------------------------------------
*/

class core_crypt
{
    public function __construct()
    {
        if (!function_exists('mcrypt_module_open'))
        {
            exit('Error: Mcrypt Module not support');
        }
    }

    public function encode($data, $key = null)
    {
        $mcrypt = mcrypt_module_open($this->get_algorithms(), '', MCRYPT_MODE_ECB, '');

        mcrypt_generic_init($mcrypt, $this->get_key($mcrypt, $key), mcrypt_create_iv(mcrypt_enc_get_iv_size($mcrypt), MCRYPT_RAND));

        $result = mcrypt_generic($mcrypt, gzcompress($data));

        mcrypt_generic_deinit($mcrypt);
        mcrypt_module_close($mcrypt);

        return $this->get_algorithms() . '|' . $this->str_to_hex($result);
    }

    public function decode($data, $key = null)
    {
        if ($algorithm = strstr($data, '|', true))
        {
            $data = str_replace($algorithm . '|', '', $data);

            $data = $this->hex_to_str($data);
        }
        else
        {
            $algorithm = $this->get_algorithms();

            $data = base64_decode($data);
        }

        $mcrypt = mcrypt_module_open($algorithm, '', MCRYPT_MODE_ECB, '');

        mcrypt_generic_init($mcrypt, $this->get_key($mcrypt, $key), mcrypt_create_iv(mcrypt_enc_get_iv_size($mcrypt), MCRYPT_RAND));

        $result = trim(mdecrypt_generic($mcrypt, $data));

        mcrypt_generic_deinit($mcrypt);
        mcrypt_module_close($mcrypt);

        return gzuncompress($result);
    }

    private function get_key($mcrypt, $key = null)
    {
        if (!$key)
        {
            $key = G_COOKIE_HASH_KEY;
        }

        return substr($key, 0, mcrypt_enc_get_key_size($mcrypt));
    }

    private function get_algorithms()
    {
        $algorithms = mcrypt_list_algorithms();

        foreach ($algorithms AS $algorithm)
        {
            if (strstr($algorithm, '-256'))
            {
                return $algorithm;
            }
        }

        foreach ($algorithms AS $algorithm)
        {
            if (strstr($algorithm, '-128'))
            {
                return $algorithm;
            }
        }

        return end($algorithms);
    }

    private function str_to_hex($string)
    {
        for ($i = 0; $i < strlen($string); $i++)
        {
            $ord = ord($string[$i]);
            $hexCode = dechex($ord);
            $hex .= substr('0' . $hexCode, -2);
        }

        return strtoupper($hex);
    }

    private function hex_to_str($hex)
    {
        for ($i = 0; $i < strlen($hex)-1; $i += 2)
        {
            $string .= chr(hexdec($hex[$i] . $hex[$i + 1]));
        }

        return $string;
    }
}

声明: 本文采用 BY-NC-SA 协议进行授权. 转载请注明转自: wecenter 点管理进入后台的时候 弹出页面提示crypt.php有错误代码
本文的评论功能被关闭了.