非常困惑-猜测是由于在结尾处放置了单个字符或者可能使用了我不知道的基本摘要填充..?
因此,如果我执行此操作,则可以查看Base64编码的结果:
echo 'host@mail.com:password' | openssl enc -base64
aG9zdEBtYWlsLmNvbTpwYXNzd29yZAo=
现在,如果我发送一个curl请求:
curl -v -u host@mail.com:password https://
aG9zdEBtYWlsLmNvbTpwYXNzd29yZA==
您会注意到base64字符串是不同的..哈哈,怎么回事?命令行中的base64实际上是不正确的——如果您在请求中替换它,则会失败。因此,基本摘要是否真正使用base64字符串?我注意到它总是在字符串末尾执行o=而不是==...有什么想法?
编辑:所以,这是来自echo的尾随换行符: -n 不输出尾随换行符
谢谢!