Java 在android服务器上上传数据之前对数据进行身份验证

Java 在android服务器上上传数据之前对数据进行身份验证,java,android,json,http-headers,http-post,Java,Android,Json,Http Headers,Http Post,我正在开发一个android应用程序,在其中,我向服务器发送一些文本和文件。我正在使用JSON将文件上传到服务器。但我想提供上传数据的安全性。数据只能从android设备上传。在我的例子中,若我使用邮递员发送数据,那个么它将被上传到服务器上 php开发人员告诉我,“在标题中发送数据”。我在谷歌上找到了一些代码 Authentication.java 我就是这样用的 Authentication authentication URL = "url_to_upload_data"; JSONPars

我正在开发一个android应用程序,在其中,我向服务器发送一些文本和文件。我正在使用JSON将文件上传到服务器。但我想提供上传数据的安全性。数据只能从android设备上传。在我的例子中,若我使用邮递员发送数据,那个么它将被上传到服务器上

php开发人员告诉我,“在标题中发送数据”。我在谷歌上找到了一些代码

Authentication.java

我就是这样用的

Authentication authentication
URL = "url_to_upload_data";
JSONParser jParser = new JSONParser();
.
.
authentication.AuthenticateData(URL);
.
List<NameValuePair> param = new ArrayList<NameValuePair>();
param.add(new BasicNameValuePair("emailid", emailid));
param.add(new BasicNameValuePair("device_reg", deviceRegNo));
param.add(new BasicNameValuePair("message",message));"));
JSONObject json_Object = jParser.makeHttpRequest(URL, "POST", param);
身份验证
URL=“URL\u上传数据”;
JSONParser jParser=新的JSONParser();
.
.
authentication.AuthenticateData(URL);
.
List param=new ArrayList();
参数add(新的BasicNameValuePair(“emailid”,emailid));
参数添加(新的BasicNameValuePair(“设备注册”,设备注册));
参数add(新的BasicNameValuePair(“消息”,消息));"));
JSONObject json_Object=jParser.makeHttpRequest(URL,“POST”,param);

这样做正确吗?安全吗?

代码的问题是,
authenticateData
没有返回任何内容

你的方法的问题是,你假设密码可以安全地存储在手机上。如果你把它放在代码中,即使在混淆之后,任何人都可以反编译你的源代码并读取值

要提供安全传输,您需要使用非对称加密,也称为。公钥可以为任何人所知,并且可以安全地存储在手机中。您必须保护服务器,以免泄露您的私钥

要帮助进行身份验证,还可以使用


你不必从头开始实现它们。你必须从这里开始。

你试过运行代码吗?我已经完成了加密。因为我是php新手。如果我访问浏览器中的http头链接,它会问我证书吗?我不确定我是否理解你的问题。你想进行用户身份验证吗?在任何情况下,使用t公钥可以对任何类型的数据进行足够安全的加密,以明文http(标头或正文)形式传递。您可以将用户名和密码编码为与文本数据或二进制数据相同的方式。说“使用标头”的人“是指在http中传输身份验证和会话ID的正常过程,以避免每次单击链接时都必须输入密码和用户名。
Authentication authentication
URL = "url_to_upload_data";
JSONParser jParser = new JSONParser();
.
.
authentication.AuthenticateData(URL);
.
List<NameValuePair> param = new ArrayList<NameValuePair>();
param.add(new BasicNameValuePair("emailid", emailid));
param.add(new BasicNameValuePair("device_reg", deviceRegNo));
param.add(new BasicNameValuePair("message",message));"));
JSONObject json_Object = jParser.makeHttpRequest(URL, "POST", param);