环境:php 8.1
版本:v4.1.0
安装完毕打开首页后提示:
#0 [8192]ErrorException in function.inc.php line 256
substr(): Passing null to parameter #1 ($string) of type string is deprecated
// 动态密匙长度,相同的明文会生成不同密文就是依靠动态密匙
$c_key_length = 4;
// 密匙
$key = md5($key ? $key : 'wecenter');
// 密匙a会参与加解密
$key_a = md5(substr($key, 0, 16));
// 密匙b会用来做数据完整性验证
$key_b = md5(substr($key, 16, 16));
// 密匙c用于变化生成的密文
$key_c = $operation == 'DECODE' ? substr($string, 0, $c_key_length) : substr(md5(microtime()), -$c_key_length);
// 参与运算的密匙
$cryptKey = $key_a . md5($key_a . $key_c);
$key_length = strlen($cryptKey);
// 明文,前10位用来保存时间戳,解密时验证数据有效性,10到26位用来保存$key_b(密匙b),
//解密时会通过这个密匙验证数据完整性
// 如果是解码的话,会从第$c_key_length位开始,因为密文前$c_key_length位保存 动态密匙,以保证解密正确
$string = $operation == 'DECODE' ? base64_decode(substr($string, $c_key_length)) : sprintf('%010d', $expiry ? $expiry + time() : 0) . substr(md5($string . $key_b), 0, 16) . $string;
$string_length = strlen($string);
$result = '';