【问题标题】:Make SQLite Database Password Protected使 SQLite 数据库密码受保护
【发布时间】:2012-12-17 11:53:40
【问题描述】:

我在我的应用程序中使用 SQLite 数据库。我想让我的 SQLite 数据库密码受到保护。

【问题讨论】:

标签: android sqlite


【解决方案1】:

HWACI(SQLite 开发背后的商业部门)提供(为了钱)一个名为 SEE 的加密引擎。如果您正在构建自己的 SQLite 源代码,将其集成到其中非常容易,而且它也非常易于使用。

SQLCipher 是 SEE 的开源替代品。我从未使用过它,但我希望它像 SEE 一样易于集成和使用。

【讨论】:

    【解决方案2】:

    据我所知:不,你不能简单地做到这一点。

    可能的选择:

    -您可以在插入数据时简单地加密数据,并在您想使用它们时解密这些值。在我看来这是最好的选择。

    -您可以加密应用程序文件夹中的 db 文件。并在每次你想访问它时解密它(不太推荐)。

    另请注意,您的数据库文件存储在您应用的私有目录中,因此在大多数终端(root 终端除外)中,用户和其他应用都没有读写权限。


    编辑:对于第一选择,如果您不想实现自己的加密方法,我建议您查看 mah 的答案 =)

    【讨论】:

    • SQLite 的加密扩展使其变得简单。此外,由于 Android 设备的 root 相对容易,在应用程序的私有目录中是毫无意义的。
    • @mah 是的,可能是我发布的第一选择,但我不知道。您能给我们提供一些 lib 示例吗?
    • @Shyish 是的,我的回答中有两个(一个是商业和受支持的,另一个是开源的)。这些消除了手动加密数据的责任,将加密应用于整个数据库。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-06-02
    • 1970-01-01
    • 2021-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多