我已经在计算机上构建了本地restAPI服务器,并且具有注册功能,可以将用户数据发送到mySQL数据库。
我已经将密码字符串编码为base64字符串(想尝试对自己进行加密)。 当我尝试解码从数据库中获取的密码时,输出错误。
例如密码(base64):MDQ1MTA0NTE =
将输出04510451
解码器类-
byte[] decodedValue = Base64.getDecoder().decode(password);
return new String(decodedValue, StandardCharsets.UTF_8);
编码器类-
byte[] passEncoded = Base64.getEncoder().encode(password.getBytes("UTF-8"));
System.out.println("encoded value is " + new String(passEncoded));
String finalPass = null;
finalPass = new String(passEncoded, "UTF-8");
return finalPass;
现在我得到的实际输出是:“ӎuӎu”(需要04510451)
预先感谢, 乔纳森
答案 0 :(得分:1)
您似乎在解码两次。这在您提供的代码段中不可见,但将是最合乎逻辑的解释:
MDQ1MTA0NTE=
-> 04510451
-> ӎuӎu