保护数据库文件不被任何其他用户访问

时间:2012-10-12 02:42:15

标签: android database security file-permissions

我想知道我们是否可以使用密码保护来保护我们的数据库文件(.db)。有没有办法授予.db文件的访问权限?因为我想应用不允许任何其他用户访问我的.db文件的机制,即使他/她获得了.db文件。

实际上,我正准备一个备份实用程序,它可以备份联系人,短信,图库文件和应用程序。备份目标保留在SD卡上。我已经成功完成了第一部分联系。然后我想到了它的安全性,任何人都可以使用我的SD卡,它可以窃取我的.db文件来获取我的联系方式。那么有什么方法可以阻止这种情况吗?

1 个答案:

答案 0 :(得分:1)

通常,如果您将文件存储在应用程序目录中(在手机上),则除了设备已植根之外,没有人可以访问该文件。如果您在SD卡上放置一个文件,那么每个拥有nessesary权限的应用都可以读取所有文件。

所以你需要加密文件。我不知道你是如何编写数据库的,但一般来说,在java中包装流是很简单的。因此,您可以简单地为您的io功能添加加密。此用法的类包括:CipherOutputStream用于加密,CipherInputStream用于解密。