我有一个Swing应用程序,需要将登录详细信息发送到服务器(用Node.js编写)进行验证。 到目前为止,我已成功发送http POST请求并从服务器获取JSON对象,唯一的问题是,当使用WireShark进行嗅探时,我实际上可以看到请求正文,从而看到密码和用户名,所以我猜这不是很安全,我不介意服务器,我不太确定我想要SSL连接,因为我不介意返回安全性的对象。 我的代码看起来像这样:
// Http members
private AsyncHttpClient asyncHttpClient = new AsyncHttpClient();
并且调用本身的函数如下所示:
private void login(String username, String password) throws IOException, InterruptedException, ExecutionException {
asyncHttpClient.preparePost(LOGIN_URL).
addFormParam("email", username).
addFormParam("password", password).
execute(new AsyncCompletionHandler<Response>() {
@Override
public Response onCompleted(Response response) {
// do something with the response object
return response;
}
});
}
你在这里看不到任何详细说明。
在WireShark中,请求正文如下所示:基于行的文本数据:application / x-www-form-urlencoded 电子邮件=名为myUsername&安培;密码= MYPASSWORD
我确实试着环顾四周,在这里和其他地方搜索答案并阅读文档,但看起来有一种简单的方法可以做到这一点,我只是遗漏了一些东西..
感谢您的回答
答案 0 :(得分:1)
如果您不希望线路上的任何人能够看到您的数据,则需要以某种方式对其进行加密。
在合理的安全级别上包含此功能的最简单方法是使用https连接。 如果您只关心数据,您也可以尝试自己实施某种形式的端到端加密,但这很难做到。
摘要:只需使用https
即可答案 1 :(得分:0)
使事情更安全的事情: