/ / como criptografar os dados json e enviar usando o método http no android? - json, criptografia

como criptografar os dados json e enviar usando o método http no android? - json, criptografia

Eu quero enviar meus dados json criptografados para o servidor usando o método post no android. Este é o meu código para enviar dados json. como criptografá-lo?

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();
}

Respostas:

1 para resposta № 1

A criptografia deve ser feita nos dois lados eo método depende do que você deseja de uma criptografia. Por exemplo, se você apenas deseja proteger seus usuários contra ataques man in the middle, você pode usar HTTPS.

Outro objetivo seria ocultar suas APIs dos hackers; para isso, defina um protocolo para si mesmo, dizendo o XORing com uma chave estática:

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));

e, em seguida, descriptografar o corpo no lado do servidor. O método XORing é o pior em segurança, mas o mais simples de mencionar. Você pode tentar o AES na prática.