解密laravel会话cookie时unserialize()出错

解密laravel会话cookie时unserialize()出错,laravel,laravel-5,encryption,cookies,laravel-5.7,Laravel,Laravel 5,Encryption,Cookies,Laravel 5.7,我试图解密Laravel5.7会话cookie(在请求中传递),以验证websocket中的用户 use Illuminate\Support\Facades\Crypt; ... $cookie = $request->get('session_cookie') $sessionId = Crypt::decrypt($cookie); 然而,我总是得到: unserialize(): Error at offset 0 of 40 bytes 我已经尝试清除客户端上的Cookie,

我试图解密Laravel5.7会话cookie(在请求中传递),以验证websocket中的用户

use Illuminate\Support\Facades\Crypt;
...
$cookie = $request->get('session_cookie')
$sessionId = Crypt::decrypt($cookie);
然而,我总是得到:

unserialize(): Error at offset 0 of 40 bytes
我已经尝试清除客户端上的Cookie,重新启动服务器并用重置应用程序密钥

php artisan key:generate

Laravel对V5.6.30中处理cookie的方式进行了更改,以提高安全性。可能是您试图解密未序列化的内容,反之亦然。您可以尝试以下几种方法:

$sessionId = Crypt::decrypt($cookie, false);
或者,在中间件
app\Http\middleware\EncryptCookies.php
中,您可以将其翻转以进行测试:

添加:
protectedstatic$serialize=true