Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.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_Openssl_Php Openssl - Fatal编程技术网

Php 显示未验证的有效函数

Php 显示未验证的有效函数,php,openssl,php-openssl,Php,Openssl,Php Openssl,在PHPStormPHP7.4中,我正在使用下面的函数,它似乎正常工作,但我在控制台的第551行发现以下EA错误 [EA]生成的IV可能为假,请添加必要的检查 [EA]使用第二个参数确定所使用的算法是否加密性强 function _token() { $random_token = base64_encode(openssl_random_pseudo_bytes(32)); return $_SESSION['token'] = $random_to

在PHPStormPHP7.4中,我正在使用下面的函数,它似乎正常工作,但我在控制台的第551行发现以下EA错误

[EA]生成的IV可能为假,请添加必要的检查

[EA]使用第二个参数确定所使用的算法是否加密性强

  function _token()
    {
        $random_token = base64_encode(openssl_random_pseudo_bytes(32));
        return $_SESSION['token'] = $random_token;
    }
这是551号线

$random_token = base64_encode(openssl_random_pseudo_bytes(32));
这是突出显示的红色

openssl_random_pseudo_bytes

如果您阅读本手册,您将看到第二个参数用于确定生成的值是否为“加密强”:

如果传递到函数中,它将保存一个bool值,该值确定使用的算法是否“加密性强”,例如,安全地用于GPG、密码等。如果是,则为true,否则为false

您需要传递此参数,然后检查是否为真(因此可以使用该值):


对我来说,PHPStorm仍然显示该错误,但这正是它试图告诉您要做的。

我添加了第二个参数,但它仍然抛出生成的IV可能是错误的,请添加必要的检查错误,不确定它是否是误报请您解释。
function _token()
{
    $random_token = base64_encode(openssl_random_pseudo_bytes(32, $strong));
    if (!$strong) {
        // deal with the token not being "cryptographically strong"
        throw new RuntimeException('Token is not cryptographically strong');
    }
    return $_SESSION['token'] = $random_token;
}