问题标签 [sqlcipher-android]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
415 浏览

android - 在 Android 应用程序中使用带有 ProGuard 的 SqlCipher 时出现 NoSuchFieldError

由于安全原因,其中一项要求是加密 SQLite 数据库。因此,我不得不使用 SQLCupher。只要我不使用minifyEnabled true.

一旦我设置minifyEnabled true,我得到一个NoSuchFieldError

我在 Application 子类中初始化 SQLCipher:

这是异常日志:

正如许多博客所建议的那样:

https://discuss.zetetic.net/t/native-runtime-crash-from-sqlcipher-for-android/1096

Android Proguard SqlCipher NoClassDefFoundError

尝试在 Android 中使用 Proguard 和 SQLcipher 时出现 NoClassDefFoundError

我已经更改了我的 proguard 配置文件,如下所示:

这是我的调试 buildType 在应用程序的抓取文件中定义的方式:

这是我使用 Build Analzser 的 apk 结构:

在此处输入图像描述

请提供有关为什么我可能会收到此错误/崩溃的建议。我的 proguard 配置有问题吗?

PS在我的情况下,我需要启用代码混淆。所以,我不能在 buildType 中设置 minifyEnabled false。

0 投票
0 回答
58 浏览

android - Google play 中的错误:exception.class.missing._Unknown_: TableInfo

我注意到 Google play 中发生了错误,我无法重现它,但它似乎发生在少数用户身上。

知道为什么会这样吗?我的猜测是,由于 R8 代码缩小,但我不知道如何修复它。

我正在为 Android 4.4.3 和 Room 2.3.0 使用 Sqlcipher

谢谢!

0 投票
1 回答
133 浏览

android - 如何检查房间数据库中的数据是否加密?

我正在构建一个使用房间数据库的应用程序,并使用 SQLCipher 对其进行加密。我如何检查数据是否真的加密,因为这是我第一次使用加密,我不知道我是否正确使用。

0 投票
0 回答
72 浏览

android - 如何使用 Android KeyStore secretKey 通过 SQLCipher 加密 SQLite 数据库?

我想生成一个密钥,然后用它用 SQLCipher 加密 Room DB,但问题是 SQLCipher 需要一个 CharArray 作为密钥来加密 SQLite 数据。有没有办法使用 secretKey 而不是 CharArray 或至少将 secretKey 转换为 CharArray?

我生成密钥的代码:

0 投票
0 回答
30 浏览

android - 加密现有 db android 的渗透测试问题

目前我们正在使用未加密的应用程序,但在新版本中,我们正在使用此查询加密我们的数据库

它工作正常,但是当我们运行渗透测试时,我们遇到了这个高风险问题

但现在我正在尝试这个来保护查询

但我遇到了这个问题 net.sqlcipher.database.SQLiteException: error code 100: another row available

我也关注了这张票,但无法理解为什么我不能使用这些查询的真正问题 net.sqlcipher.database.SQLiteException:错误代码 100:另一行可用

0 投票
0 回答
34 浏览

java - Android 中房间数据库加密中的类型转换错误

我正在通过此链接使用 SQL CIPHER 加密我的 Room 数据库

这给了我错误:

所需类型:工厂提供:SupportFactory

当我按如下方式进行类型转换时:

这将在以应用程序崩溃结束的编译时返回以下错误。错误如下。

ava.lang.ClassCastException:net.sqlcipher.database.SupportFactory 无法转换为 android.arch.persistence.db.SupportSQLiteOpenHelper$Factory

请协助!

0 投票
0 回答
9 浏览

java - Android SQLCipher 数据库创建

它应该很简单,但我正在尝试使用 sqlcipher 创建一个应用程序,但它不起作用。

我已经设置了标准的 dbAdapter 类并且程序运行良好。创建 dbHelper(相同的程序,不同的名称),但使用 sqlCipher 规范。在 gradle 模块中添加了实现,完成了我能找到的所有工作,但没有运气。我在 dbAdapter 下没有得到任何数据库。我哪里错了?我已经在主类和 dbHelper 中尝试了“loadLibs”。我在 dbHelper(密码后)中尝试了“openOrCreate”,它在哪里,在 execSQL 语句下方,没有它。我在没有获得路径的情况下尝试过,使用 DB_NAME 代替它。没有任何东西可以创建数据库。我究竟做错了什么?ps,我已经尝试在 String 和每个zetetic的 Char[] 中传递给“openOrCreate”

'''