Base64解码返回垃圾

时间:2011-06-16 16:14:29

标签: java string base64 httprequest

我正在尝试使用Java中的身份验证标头解码Base64字符串。我确定发送的请求在身份验证标头中有一个有效的Base64编码字符串。这是我的解码代码:

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

在解码请求之前,它看起来像Basic dXNlcjpmZGdmcw==

尝试解码后,它看起来像这样:«"qÕÍ•È陑™Ì

我不确定我做错了什么,无论我使用什么解码实用程序,它总是看起来像胡言乱语。谢谢你的阅读。

2 个答案:

答案 0 :(得分:1)

sun.misc.BASE64Decoder decoder = new sun.misc.BASE64Decoder();
System.out.println(new String(decoder.decodeBuffer("dXNlcjpmZGdmcw==")));

打印user:fdgfs。注意:Decode Base64 data in Java以获得更好的解决方案。您是否检查了返回的内容:

request.getHeader("Authorization")

答案 1 :(得分:0)

那是因为你试图解码整个字符串“Basic dXNlcjpmZGdmcw ==”而不是 “dXNlcjpmZGdmcw ==”。

相关问题