android通过web加密json数据

时间:2011-05-04 07:21:24

标签: android json encryption

我的应用程序经常连接到Web服务以获取json中的一些数据。

有没有办法在服务器端加密这些数据并在应用程序端解密,以便传输的数据安全可靠?

此外,如果应用程序带有自己的数据库(sqlite db文件),那么使用此应用程序的任何人都可以查看此数据库(表,字段和内容)吗?

此致 萨班

3 个答案:

答案 0 :(得分:4)

传输加密数据的最简单方法是使用SSL(即https)进行应用和网络服务之间的通信。

如果您需要为服务器设置自己的自签名证书(而不是购买一个),您可能会遇到让Android与之交谈的问题,但这是可行的。有关提示,请参阅this SO question

关于阅读数据库,有可能。我会假设有权访问手机的攻击者可以读取数据库,如果确定的话。如果您希望数据真正安全,则必须将数据库存储在加密文件中,并要求用户在每次打开应用程序时输入密码。 你必须决定你真正需要多少安全性。

但是,当您通过网络传输数据时,绝对应该对数据进行SSL加密。

答案 1 :(得分:1)

你可以使用crypto来加密/解密android和server中的json。它非常简单和安全。使用Base64不是一种有效的方法,因为任何人都可以解密。在此,您可以使用密钥来加密和解密String。如果使用错误的密钥进行解密,输出将是错误的。

http://www.androidsnippets.com/encryptdecrypt-strings

答案 2 :(得分:-4)

我使用Base64编码和解码来加密网络上的数据。

根据您使用的网络服务的类型,它将具有或不具有Base64编码和解码。您可以随时谷歌搜索他人制作的代码。

取决于您要定位的Android版本。

从API级别8及以上:http://developer.android.com/reference/android/util/Base64.html

对于较低的:http://www.frankdu.com/notes/2011/01/27/base64-encoding-with-android-2-1-or-earlier/

您当然也可以编写自己的编码和解码系统。 ;)