java - JAVA 中的 EncodeBase64 返回错误的输出

标签 java base64 basic-authentication

我正在使用 Spring 构建 Web。我想对字符串进行编码以作为基本身份验证发送。

这是代码,

private String authUsername = "admin";
private String authPassword = "admin"; 
private String unEncode = authUsername+authPassword;
private byte[] encodedBytes = Base64.encodeBase64(unEncode.getBytes());
private String encode = new String(encodedBytes);   
private String authenCode = "Basic "+encode;

结果是“Basic YWRtaW5hZG1pbg==”,这是错误的。

正确的输出应该是“Basic YWRtaW46YWRtaW4=

我做错了什么或错过了什么?

谢谢。

最佳答案

问题不在于 Base64 编码,而在于构建字符串。基本身份验证需要 username:password 但您缺少 :

关于java - JAVA 中的 EncodeBase64 返回错误的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33605050/

相关文章:

http - 基本接入认证安全吗?

java - 绑定(bind)后的RMI,我可以更改绑定(bind)的对象吗?

java - 如何从Java中的资源加载图标?

java - POJO和Bean的编程区别

audio - 在IE9中播放base64 midi文件

javascript - imgur 图片上传不适用于 base64 数据?

python - 将谷歌街景的深度图(base64)转换为图像

security - 从服务器向客户端发送授权 header 是否安全?

java - 带虚拟键盘的 Android onKey

java - 您如何配置 spring security 以使用基本身份验证对数据库进行身份验证?