Декодирование Base64, возвращающее мусор - PullRequest
2 голосов
/ 16 июня 2011

Я пытаюсь декодировать строку Base64 из моих заголовков аутентификации в Java.Я уверен, что отправляемый запрос имеет допустимую строку в кодировке Base64 в заголовке аутентификации.Вот мой код декодирования:

HttpServletRequest request = (HttpServletRequest) req;
byte[] test = new Base64().decode(request.getHeader("Authorization"));

До того, как я декодирую запрос, он выглядит следующим образом Basic dXNlcjpmZGdmcw==

После того, как я пытаюсь декодировать его, он выглядит так: «"qÕÍ•È陑™Ì

Я не уверен, что делаю неправильно, и независимо от того, какую утилиту декодирования я использую, она всегда выглядит как бред.Спасибо за чтение.

Ответы [ 2 ]

1 голос
/ 16 июня 2011
sun.misc.BASE64Decoder decoder = new sun.misc.BASE64Decoder();
System.out.println(new String(decoder.decodeBuffer("dXNlcjpmZGdmcw==")));

Отпечатки user:fdgfs.Примечание: Расшифруйте данные Base64 в Java для лучших решений.Вы проверили, что возвращается:

request.getHeader("Authorization")

?

0 голосов
/ 21 мая 2013

Это потому, что вы пытаетесь декодировать всю строку "Basic dXNlcjpmZGdmcw ==" вместо "dXNlcjpmZGdmcw ==".

...