3-й последний символ - это пробел. Я предполагаю, что это было +
в оригинале, прежде чем он был помещен в строку запроса. + - это специальный символ в URL, представляющий пробел, поэтому QueryString преобразует его в пробел.
Попробуйте передать строку Base64 через
Server.UrlEncode(string);
перед перенаправлением, которое корректно экранирует + в% urlchar и затем пропускает его через
Server.UrlDecode(string);
перед анализом на другой стороне