Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php “如何修复”;遇到一个非数字值";警告_Php - Fatal编程技术网

Php “如何修复”;遇到一个非数字值";警告

Php “如何修复”;遇到一个非数字值";警告,php,Php,我已从PHP 5.x迁移到PHP 7.3,无法理解如何修复我广泛使用的此函数: function md5_decrypt($enc_text, $salt, $iv_len = 16) { $enc_text = base64_decode($enc_text); $n = strlen($enc_text); $i = $iv_len; $plain_text = ''; $iv = substr($salt ^ substr($enc_text, 0, $

我已从PHP 5.x迁移到PHP 7.3,无法理解如何修复我广泛使用的此函数:

function md5_decrypt($enc_text, $salt, $iv_len = 16)
{
   $enc_text = base64_decode($enc_text);
   $n = strlen($enc_text);
   $i = $iv_len;
   $plain_text = '';   
   $iv = substr($salt ^ substr($enc_text, 0, $iv_len), 0, 512);
   while ($i < $n) {
       $block = substr($enc_text, $i, 16);
       $plain_text .= $block ^ pack('H*', md5($iv));
       $iv = substr($block . $iv, 0, 512) ^ $salt;
       $i += 16;
   }
   return preg_replace('/\\x13\\x00*$/', '', $plain_text);
}
我知道substr()返回的是一个字符串,必须转换成一个数值变量,但是如何在不破坏代码的情况下执行呢

欢迎提出任何建议

提前向大家表示感谢

祝你一切顺利,
Fab.

各位,很抱歉,我现在意识到由于某种原因,$salt变量为null(!!),因此出现了错误!用正确的值(字符串)填充,现在一切正常。无论如何,谢谢你的帮助

你能告诉我们你调用函数的方法和参数吗?你从哪里得到这个函数的?谢谢你们的回复@是的,这确实是一个与演员有关的问题,但我不知道如何解决它,因此我在这里发布了帖子。所以很抱歉,伙计们,我现在意识到由于某种原因,$salt变量为null(!!),因此出现了错误!用正确的值(字符串)填充,现在一切正常。谢谢你的帮助!
$iv = substr($salt ^ substr($enc_text, 0, $iv_len), 0, 512);