【问题标题】:How to protect a pre made sqlite database in android?如何保护android中预制的sqlite数据库?
【发布时间】:2014-02-04 08:54:45
【问题描述】:

我的 android 项目的资产文件夹中有一个 sqlite 数据库。我使用 sqlite 数据库浏览器制作并在我的项目中使用它。它包含一些有 4 列的表。这在我的 apk 文件中效果很好。但问题是,如果有人想要他可以轻松破坏我的 apk 文件并获取我的真实数据库。现在我的问题是如何保护我的数据库?有什么方法可以设置密码或加密我的数据库。 我在 stackoverflow.com 中搜索了此类问题并找到了一些方法。但我认为这些方法适用于使用代码创建数据库时。如果我用我的程序创建数据库或放置数据,我也会制作自己的加密方法(比如洗牌字符)。但是,我再说一遍,我的数据库是预制的,我想保护它? 在这种情况下,你能帮帮我吗?抱歉英语不好。

【问题讨论】:

    标签: android database sqlite encryption protection


    【解决方案1】:

    您可以借助以下库来保护您的数据库。并确保您使用 Pro-Guard 来保护您的具有加密密钥的代码。

    编辑

    您还应该检查this blogOI Safe .. :)

    【讨论】:

      【解决方案2】:

      您可以将 Proguard 集成到您的 Android 应用程序中。这是Proguard 的官方文档,它将保护您的 apk 文件免受攻击。

      您还可以在 SQLite 中加密您的数据。您可以在将数据存储到数据库之前对数据应用 AES 加密,并在访问代码文件之前解密代码文件中的数据。你也可以使用SQL Cipher来保护你的数据库

      检查这个Link它会帮助你

      【讨论】:

      • Base64 不是加密技术
      • 编码和加密是不同的主题。尽管该链接可能描述使用 Base64 进行编码,但当然,它不是一种加密技术。你做的是 Base64 编码而不是 Base64 加密。
      • 是的,但这可以满足这里的要求。您可以对数据进行编码以保护它
      • Base64 不保护您的数据。编码本身并不旨在保护您的数据。任何人都可以解码您的 Base64 编码数据,无需任何帮助。
      • 通过查看一个字符串,很容易判断它是否是 Base64 编码的字符串。此外,谁想要入侵您的数据,这通常是每个人都会想到的第一件事。
      【解决方案3】:

      SQLCipher 是一个 SQLite 扩展,它为数据库文件提供透明的 256 位 AES 加密。

      试试SQLCipher

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-01-14
        • 1970-01-01
        • 2012-08-08
        • 1970-01-01
        • 2021-11-13
        • 2011-05-16
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多