2012-10-22 70 views
0

我正在查看this页面,该页面解释了如何在本地Android项目(在Assets中)使用数据库以填充应用程序标准数据库(由Android管理,数据/ ...),如this。这样,资产数据库中的所有数据都可以在apk中自由读取,对吗?Android资产数据库安全问题?

如果数据库中存在个人信息或证书,这不是存储数据的好方法。 在res/xml或res/values中存储资产数据库和个人数据的最佳方式是什么?有推荐的方式来存储个人数据吗?

回答

2

默认情况下,Android中的APK文件是世界可读的,因此将敏感数据存储在这里并不是一个好主意。在JellyBean和后来,该应用程序可以被前向锁定(又名'应用程序加密'),这将确保您的私人资产不能被其他应用程序读取。这是为付费应用程序自动完成的。

最好的方法是不将数据存储在APK中,而是在第一次安装时下载。您可以使用Google Play扩展文件,这些文件需要进行身份验证才能下载或提供您自己的解决方案。

您可以将它们以某种加密形式存储,然后在第一次运行时对它们进行解密,但那么您将遇到密钥管理问题。

0

幸运的是,我今天正在阅读有关这方面的内容。 Android开发者指南建议您使用内部存储来存储私人数据,因为其他应用或用户无法访问。见http://developer.android.com/guide/topics/data/data-storage.html#filesInternal 我希望有所帮助。

+0

这种方式被很多应用程序使用,但我认为不适合敏感的数据。有了root权限,我认为使用文件资源管理器可以读取应用程序的所有私有数据库。 – andrea

+0

好的,谢谢安德里亚,多数民众赞成好知道:-)祝你好运与你的问题 – Broo