JBOSS 4.2.3默认编码同时base64解码

时间:2014-07-01 12:20:13

标签: jboss-4.2.x

我正在使用自定义类扩展的JBOSS 4.2.3UsernamePasswordLoginModule类,它会覆盖方法validatePassword。此方法有两个参数inputPasswordexpectedPassword。客户端使用Base64 encoded loginId:passwordbase64发送到服务器并进行服务器解码。服务器使用iso-8859-1解码凭证(我在在线转换工具上查看重音字符后验证,这相当于iso输出而不是UTF-8)。由于iso不支持国际字符,我需要使用UTF-8,但如果我们正在进行Base64 decode,我没有弄明白这个iso编码的位置。我搜索了Base64解码方法但未指定字符集。

我的疑问是,我们是否有任何机制在上述场景中设置编码。要求客户端将发送UTF-8 data,我需要使用UTF8进行解码。提前谢谢。

1 个答案:

答案 0 :(得分:0)

字符串的Base64编码和解码分为两个步骤:

[编码] 字符串 - > byte [] - >字符串(base64编码)
[解码]字符串(base64编码) - > byte [] - >串

需要在粗体中突出显示的步骤中设置字符编码。

对于那意味着要做的编码:

String s;
byte[] bytes = s.getBytes("UTF-8");

对于解码,它将是:

byte[] bytes;
String s = new String(bytes, "UTF-8");