我已經提交了一個應用程序到Amazon批准,他們回來了這一點:加密Android應用程序的數據發送到MySQL數據庫
「這個程序似乎發送未加密,敏感信息在這種情況下,對E - 郵件和密碼正在以明文發送,請更新應用程序以加密所有敏感信息。「
在服務器端,我使用sha1()PHP方法(非常標準)對數據庫中的密碼進行加密。我假設他們想要Java傳遞的密碼/電子郵件字符串在傳輸到Web服務時加密。我假設?如果是這種情況,我需要解密數據(特別是電子郵件,因爲這需要以純文本形式存儲在我的數據庫中。)
有沒有人看過這個亞馬遜詢問?而且我的解釋是正確的嗎?如果是這樣,是有在Java中的方式來臨時加密數據在傳輸過程中
這裏是我如何做到這一點的例子:?
insertParam = new ArrayList<NameValuePair>();
insertParam.add(new BasicNameValuePair("Email", Email));
insertParam.add(new BasicNameValuePair("Password", Password));
insertParam.add(new BasicNameValuePair("Username", Username));
try {
HttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(url_select);
httpPost.setEntity(new UrlEncodedFormEntity(insertParam));
HttpResponse httpResponse = httpClient.execute(httpPost);
HttpEntity httpEntity = httpResponse.getEntity();
is = httpEntity.getContent();
}
編輯:
看起來像HTTPS是要走的路。
如果你正在做的是用SHA1對密碼進行哈希處理,爲什麼不把它散列在android端,然後發送給PHP? – MrZander
SHA1只是一種哈希算法。 http://stackoverflow.com/questions/4895523/java-string-to-sha1 至於電子郵件,見阿什利羅斯。 – MrZander