@Romo4ka_eto_ia
Просто человек

Как получить токен сессии из полученных значений?

Здравствуйте, решил я расшифровать куки Laravel без собственно его использования. Посмотрел как они расшифровываются в их файле и написал аналог:
function decrypt($payload = 'cookie')
{
    global $key;
    $payload = getJsonPayload($payload);
    $payload['value'];
    $iv = base64_decode($payload['iv']);
    echo $decrypted = openssl_decrypt($payload['value'], 'AES-256-CBC', $key, 0, $iv );
}


Всё работает вроде бы, все данные, которые зашифрованы в базе таким образом расшифровываются на ура. Но вот когда пытаюсь расшифровать куки, то получается такая история:
67e37f4b5c997344e6d31dfw36ce023260238be6|QxWrlAcjHN7hngfzJK4afyhnCleZaFR6QnafMjwF


Перекопал всё, не понимаю что делать с этими значениями, по идее по итогу должно получиться одно значение (remember_token):
bI3YAIr8pPeW4lWv1bZ1cSFTqhN3firZIdoFEZMUwNol4D42f7dGJAZfn0Qu

который хранится в базе данных пользователей, но что-то идёт не так.

Понимаю что я занимаюсь скорее всего извращенством и проще было бы сделать через Laravel, но всё таки буду очень благодарен за помощь.
  • Вопрос задан
  • 174 просмотра
Пригласить эксперта
Ответы на вопрос 1
@Gil-Galad
Судя по src/Illuminate/Cookie/Middleware/EncryptCookies.php

"67e37f4b5c997344e6d31dfw36ce023260238be6|" === hash_hmac('sha1', $cookieName'v2', $key).'|';


Но! Вы хотите получить remember_token, а он создаются случайно в src/Illuminate/Auth/SessionGuard.php

$user->setRememberToken($token = Str::random(60));

Не связанные данные короче.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы