/ / comment crypter les données json et envoyer en utilisant la méthode http dans android? - json, cryptage

comment chiffrer les données JSON et envoyer en utilisant la méthode http dans Android? - json, cryptage

je veux envoyer mes données json cryptées au serveur en utilisant la méthode post dans android. Ceci est mon code pour envoyer des données json. comment le crypter?

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

Réponses:

1 pour la réponse № 1

Le cryptage doit être effectué des deux côtés etla méthode dépend de ce que vous voulez d'un cryptage. Par exemple, si vous souhaitez simplement protéger vos utilisateurs contre les attaques de l'homme au milieu, vous pouvez utiliser HTTPS.

Un autre objectif serait de cacher vos API aux pirates. Pour ce faire, vous devez définir un protocole pour vous-même, en disant XORing avec une clé statique:

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

puis déchiffrez le corps côté serveur. La méthode XORing est la pire en matière de sécurité mais la plus simple à mentionner. Vous pouvez essayer AES dans la pratique.