当前位置: 首页 > 知识库问答 >
问题:

改造:如何使用Base64发布编码密码?

锺离赤岩
2023-03-14

我需要用电子邮件和密码提出请求。电子邮件和密码是发送到我的存储库类的字符串。密码需要用Base64编码。

我正在使用改装2。

我知道我需要使用Request estBody类,但是我怎么才能发出请求呢?

这是来自 Rest 接口的代码:

@POST("login")
Call<String> login(
    @Body RequestBody payload
);

存储库中,我用这个对密码进行编码:

String encodedPassword = Base64.encodeToString(password.getBytes(), Base64.NO_WRAP);

但是我需要用email和encodedPassword变量初始化requestBody来发出请求。

Call<String> call = getApi().login(requestBody);

这真的是正确的方法吗?

requestBody属性是如何初始化的?

共有1个答案

壤驷向明
2023-03-14

这完全取决于您的API期望什么。如果您的API需要一个编码为JSON/XML的对象,您可以在请求体中发送它。

对于登录凭据,最常见的是将它们作为FormUrlEncoded数据发送。

举个例子:

@POST("/posts")
@FormUrlEncoded
Call<String> login(@Field("email") String email,
                   @Field("password") String password);

但正如我所说的,这完全取决于APIendpoint的期望。

我也不明白为什么需要对密码进行Base64编码,因为它不会在SSL上的纯文本上增加任何额外的安全性,所以您也可以在API文档中对此进行双重检查。

 类似资料:
  • 我试图张贴编码字符串的图像,以翻新后的方法...调试之后,我从图库中选择了一个很长的图片调试字符串.....提交后,我可以在调试器中看到图像的长字符串编码....在postman中,当我检查时,我显示< code>profile_pic: " "为空... 需要帮助 如果我像这样使用endpoint,我不会崩溃: 响应代码: 后来我尝试了这个- 我的endpoint: 活动响应代码:- } 上面的

  • 问题内容: 我有一些JavaScript代码可将图像上传到服务器。下面是可以正常工作的ajax调用。 我现在需要将图像上传为base64编码,例如 但这是行不通的,即服务器无法识别我发送和抱怨的数据。 有谁知道在AJAX调用中发送base64编码数据的正确格式是什么? 问题答案: 感谢所有帮助我前进的答案。 我也已在 https://social.msdn.microsoft.com/Forums

  • 介绍 Base64编码是用64(2的6次方)个ASCII字符来表示256(2的8次方)个ASCII字符,也就是三位二进制数组经过编码后变为四位的ASCII字符显示,长度比原来增加1/3。 使用 String a = "伦家是一个非常长的字符串"; //5Lym5a625piv5LiA5Liq6Z2e5bi46ZW/55qE5a2X56ym5Liy String encode = Base64.en

  • 本文向大家介绍如何使用nodejs对base64进行编解码?相关面试题,主要包含被问及如何使用nodejs对base64进行编解码?时的应答技巧和注意事项,需要的朋友参考一下 轮子, https://www.npmjs.com/package/js-base64

  • Amazon CloudFront功能是AWS引入的一项新功能 CloudFront函数只能使用JavaScript编写 https://aws.amazon.com/blogs/aws/introducing-cloudfront-functions-run-your-code-at-the-edge-with-low-latency-at-any-scale/ 我们的网站生成一个时间戳,并使用

  • 我最近开始在我的android应用程序中使用改装,这是我添加用户的改装请求: 这里User是我想在服务器上注册的用户的模型类。问题是服务器需要Base64.encode()格式的json正文请求。有没有办法使用改装发送Base64编码数据? 我可以想到手动这样做: 然后在请求中传递这个。但是,我必须手动完成这项工作,并处理每个POST请求。有没有更干净的方法。