Как вы уже знаете, =
становится %3D
при кодировании URL.
Обычно, когда вы встречаете строку с множеством цифр и символов в случайном порядке, и она заканчивается на ==
, очень высока вероятность того, что она закодирована в base64.
=
добавляется (в конце строки) в качестве заполнения, чтобы соответствовать указанному c количеству символов в строке. Подробнее об этом вы можете прочитать в этом ответе .
Чтобы ответить на ваш вопрос, я попытаюсь расшифровать данный токен в конце и без ==
, я буду использовать этот онлайн-декодер , так что вы можете попробовать его на своем конце aswell.
С ==
:
{"iv":"xooACUwGd59C0jA3JicqMA==","value":"Isnv3b4OqnkMUglCIvH4raCOAr+LbKofLT765kmzvFcCdp4oC1UBVN04e4WS8rZ6","mac":"f4cc6c6beb1aefe4f1b95da50a7bf3ec4a1b540f0aefa188413b4a1e1ece5a09"}
Без ==
:
{"iv":"xooACUwGd59C0jA3JicqMA==","value":"Isnv3b4OqnkMUglCIvH4raCOAr+LbKofLT765kmzvFcCdp4oC1UBVN04e4WS8rZ6","mac":"f4cc6c6beb1aefe4f1b95da50a7bf3ec4a1b540f0aefa188413b4a1e1ece5a09"}
Они такие же .
Это работает, потому что они (=
) просто дополняют друг друга и не содержат никакой информации.
Я не эксперт по laravel, но, полагаю, причина, по которой он не работает с %3D
, заключается в том, что он не декодирует URL.