特定字符串

时间:2017-11-29 08:01:38

标签: rest http encoding utf-8 base64

我怀疑。关于一个特定字符串的Base64编码。

我们有一个应用程序允许在基本身份验证类型的授权成功后执行REST WebServices。

我已为用户 USER_NAME 设置了密码 CP @ 5N0v22nD17RrV8f4 的密码。

在我的系统中,使用Postman / Advanced REST客户端,成功处理发送的请求。但是当大多数其他系统使用相同的REST客户端时,相同的请求失败。

当我将此密码设置为其他用户时,该用户凭据面临同样的问题。

我注意到Base64编码输出字符集是个问题。但是没有方法可以在REST客户端中更改它(不在大多数现成的中)。

但为什么这只发生在这个特定的密码上。我检查所有其他密码,它工作正常。

字符串: USER_NAME:CP @ 5N0v22nD17RrV8f4
UTF-8: VVNFUl9OQU1FOkNQQDVOMHYyMm5EMTdSclY4ZjTigIs =
Windows-1252: VVNFUl9OQU1FOkNQQDVOMHYyMm5EMTdSclY4ZjQ =
ASCII: VVNFUl9OQU1FOkNQQDVOMHYyMm5EMTdSclY4ZjQ =


仅适用于 CP @ 5N0v22nD17RrV8f4 ,Base64中的UTF-8输出字符集编码会产生不同的结果。
使用任何其他密码,所有输出都是相同的。

请让我理解为什么 CP @ 5N0v22nD17RrV8f4 与其他字符串不同。



在此先感谢您 巴鲁

1 个答案:

答案 0 :(得分:1)

字符串在字符串的末尾有一个non breaking space

我使用以下步骤测试了这一点。

  1. 解码UTF-8字符串VVNFUl9OQU1FOkNQQDVOMHYyMm5EMTdSclY4ZjTigIs = https://www.base64decode.org/

  2. 将结果复制到https://www.base64decode.org/的UTF-8编码,但这次在字符串末尾按了一次退格键。给我输出VVNFUl9OQU1FOkNQQDVOMHYyMm5EMTdSclY4ZjQ =

  3. 您也可以尝试手动输入字符和编码。