/ / jak zaszyfrować dane JSON i wysłać przy użyciu metody http w Androidzie? - Json, szyfrowanie

jak szyfrować dane json i wysyłać za pomocą metody http na Androida? - json, szyfrowanie

Chcę wysłać moje zaszyfrowane dane JSON na serwer przy użyciu metody post w Androidzie. To jest mój kod do wysyłania danych JSON. jak to zaszyfrować?

public String Update(String userid,String uname)
{
String response = null;
ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
nameValuePairs.add(new BasicNameValuePair("user_id",userid));
nameValuePairs.add(new BasicNameValuePair("status","update"));
nameValuePairs.add(new BasicNameValuePair("user_name",uname));
try
{
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost(URL+OPERATION_UPDATE_USERNAME);
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
ResponseHandler<String> responseHandler = new BasicResponseHandler();
response= httpclient.execute(httppost,responseHandler);
JSONObject jsonObj = new JSONObject(response);
}
catch(Exception e)
{
}
return response.trim();
}

Odpowiedzi:

1 dla odpowiedzi № 1

Szyfrowanie musi być wykonane po obu stronach imetoda zależy od tego, czego chcesz od szyfrowania. Na przykład, jeśli chcesz chronić użytkowników przed atakami typu man in the middle, możesz użyć HTTPS.

Innym celem byłoby ukrycie interfejsów API przed hakerami. Aby to zrobić, powinieneś zdefiniować protokół dla siebie, mówiąc XORing za pomocą klucza statycznego:

UrlEncodedFormEntity form = new UrlEncodedFormEntity(nameValuePairs);
String formContent = form.getContent();
String encodedFormContent = "";
char key = "K";
for (int i = 0; i<formContent.length(); i++) {
encodedFormContent += formContent.charAt(i) ^ key;
}
httppost.setEntity(new StringEntity(encodedFormContent));

a następnie odszyfruj ciało po stronie serwera. Metoda XORing jest najgorsza pod względem bezpieczeństwa, ale najprostsza do wspomnienia. Możesz wypróbować AES w praktyce.