我有一台需要ID和密码的服务器必须在Base64中编码。意思是代替Username
,你必须首先将它编码到Base64中并给出编码的字符串。
然后在我的Java客户端中我有一个javax.mail.Authenticator
。我手动将ID和密码编码到base64中,将它们保存为字符串并使用这些字符串初始化Authenticator。但即使我一次又一次地检查,ID和密码也是错误的。
在这种情况下可能出现什么问题?
编辑:另一个问题是关于身体部位,这里是关于Authenticator
答案 0 :(得分:0)
使用java.util.Base64。编码和解码将如下:
String s = "...full Unicode...";
s = Base64.getEncoder().encodeToString(s.getBytes(StandardCharsets.UTF_8));
s = new String(Base64.getDecoder().decode(s), StandardCharsets.UTF_8);
可以进行一些调整,例如最后没有填充,替代URL安全Base64等。
答案 1 :(得分:0)
我的问题的答案是,邮件服务器中的openssl需要Base64编码,而当我通过java客户端连接时,它的UTF-8。