我的应用程序经常连接到web服务以获取json格式的数据。
有没有一种方法可以在服务器端对这些数据进行加密,并在应用程序端对其进行解密,从而使传输的数据安全可靠?
另外,如果应用程序带有自己的数据库(sqlite db文件),那么使用此应用程序的任何人都可以查看此数据库(表、字段和内容)吗?
当做,
萨班
最佳答案
传输加密数据的最简单方法是使用SSL(即https)在应用程序和web服务之间进行通信。
如果您需要为服务器设置自己的自签名证书(而不是购买证书),那么让android与之对话可能会遇到问题,但这是可行的。有关提示,请参见this SO question。
关于读取数据库,这是可能的。如果确定足够多的话,我假设能够访问电话的攻击者可以读取数据库。如果您希望数据真正安全,则必须将数据库存储在加密文件中,并要求用户在每次打开应用程序时输入密码。
你必须决定你真正需要多少安全。
不过,在通过网络传输数据时,您肯定应该对数据进行ssl加密。