Aha!Оказывается, что при запуске в браузере значения cookie автоматически URL декодировались PHP, что означало, что любые '+' в кодированном base64 тексте заменялись пробелами.Добавление этой строки кода перед вызовом base64_decode
исправленных вещей:
$tmp = str_replace(' ', '+', $value);