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

标签 android database security file-permissions

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

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

最佳答案

一般来说,如果您将文件存储在应用程序目录中(在手机上),除非设备已获得 root 权限,否则没有人可以访问该文件。如果您将文件放在 SD 卡上,则每个具有必要权限的应用程序都可以读取所有文件。

所以你需要加密文件。我不知道你是怎么写你的数据库的,但一般来说,在 java 中包装流很简单。所以你可以简单地为你的 io 函数添加一个加密。此用法的类是:CipherOutputStream用于加密和 CipherInputStream用于解密。

关于android - 保护数据库文件不被任何其他用户访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12851472/

相关文章:

java - 错误: This Activity already has an action bar supplied by the window decor

ios - iOS 应用程序中的 SQlite 数据库在下载后被加密

apache-flex - Adobe FLEX 4 能否读取浏览器安全证书?

php - 用 PHP 和 MySQL 给我的哈希加盐

java - 如何使用Java代码防止保存jar内的公钥

android - ActionBar 主页按钮 - 如何从 API 11 设置

带有 Activity 的android线程;

android - 如何在不使用外部存储的情况下拍摄和分享屏幕截图?

c# - 将 scope_identity() 与 ASP.NET 控件一起使用

php - 如果变量的语句错误