问题标签 [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 投票
0 回答
204 浏览

android - 如何在 Android 中使用 SQLcipher 数据库保护 Greendao 使用的密码?

我想用 SQLCipher 保护用于 Greendao db 的密码。我正在使用密钥库生成密钥并使用该密钥加密从服务器获取的密码。我想使用加密数据作为数据库的密码。问题是密码每次生成不同的加密数据。(我知道它按预期工作)。有没有办法每次都生成类似的加密数据?我正在使用以下代码进行加密:-

0 投票
0 回答
67 浏览

android - 无法使用 SQLiteCipher 从 SD 卡/外部存储更新数据库

我想使用 SQLiteCipher 从 sdcard 创建一个数据库,但在设备文件资源管理器中给我未从 ExternalStorage/RemovableSDCard 更新的日期和时间。

DBHelpers.Java

MainActivity.java

AndroidManifest.xml

0 投票
0 回答
91 浏览

android - Sqlcipher 未能在 0,0 处为 text/blob 分配 1638057 字节

所以,我有一个使用 sqlcipher 与数据库对话的 Cordova 应用程序。有一个特定的insert语句,我必须在 Db 中插入大量数据。
所以插入失败给我以下错误:

经过研究,我发现 sqlcipher 的限制为 1 MB。我发现的一个解决方案是升级到 sqlcipher 具有动态大小的版本 3.5.7。

升级到 3.5.7 后,我在启动应用程序时,应用程序停止工作,日志显示以下错误

SQLiteDatabase.loadLibs(this);

java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/org.something.offline-upC4lfhZqsaVGORPq1Gtgg==/base.apk"],nativeLibraryDirectories=[/data/app/org.something .offline-upC4lfhZqsaVGORPq1Gtgg==/lib/arm, /system/fake-libs, /data/app/org.something.offline-upC4lfhZqsaVGORPq1Gtgg==/base.apk!/lib/armeabi-v7a, /system/lib, / system/vendor/lib]]] 找不到“libsqlcipher.so”

我在网上搜索了这个错误,但没有得到任何解决方案。

编辑:解决了上述问题。这是一个包装问题。我忘记导入 liquibase.so 文件现在我收到一个新错误:https ://pastebin.com/jzX9AqEX

0 投票
1 回答
2046 浏览

sqlite - SQlite 中的 PRAGMA Key='SomeKey' 是否加密/解密数据库的整个数据?

我们正在开发 Xamarin.forms 应用程序,我们必须加密我们的数据库。在谷歌搜索时,我发现一些东西是“PRAGMA key”。当我开始在我的代码中使用它然后通过任何浏览器打开 db 文件时,我会看到一个对话框来输入密码。

我的问题是,'PRAGMA key' 是加密整个数据库还是就像打开数据库文件的密码一样工作。

任何帮助是极大的赞赏。

0 投票
1 回答
508 浏览

android-room - SQLCipher 和 CWAC-SafeRoom 使我的 APK 大小加倍

这些库的大小确实增加了 APK 的大小。它几乎是我的应用程序大小的50% ,达到16.3 MB,当我分析 APK 时,仅 sqlcipher-lib 就是我的 apk 大小的48.9% ,即7.3 MB!

有什么解决方法吗?

在此处输入图像描述

编辑: 因为这是一个与数据库相关的问题,我相信如果指定的标签在其他开发人员的搜索过程中保持引用的特殊性是很好的。我认为下面的答案可以更好地解决它,以便使对话保持特定主题

0 投票
1 回答
462 浏览

android - Android自定义迁移Sqlcipher从3到4

我在我的应用程序中将 Sqlcipher for Android 从 3.5.7 升级到了 4.1.3。

对于使用 Sqlcipher 3 创建的现有数据库,我需要自定义迁移,因为它基于自定义参数,本文的选项 3 也说明了这一点。

当我尝试打开数据库时出现此异常。

这是我的代码:

该文件存在并且密码正确:如果我降级 Sqlcipher 库,则相同的代码可以工作。我做错了什么?

0 投票
1 回答
1955 浏览

android - SQLiteException:将 sqlcipher 版本从 3 升级到 4 时文件不是数据库

我很久以前在我们的项目中集成了sqlcipher。由于一些安全问题,我们必须升级 sqlcipher 的版本。我已经通过以下链接

  1. https://discuss.zetetic.net/t/migrating-from-sqlcipher-3-5-1-to-4-1-3-in-android/3652
  2. https://discuss.zetetic.net/t/upgrading-sqlcipher-for-android-from-3-to-4/3580

但我不知道在哪里添加该代码。我如何将他们的代码与我的集成。

这是我的 Logcat

这是我的数据库相关代码。

请帮助我理解这一点。

0 投票
1 回答
1003 浏览

android - 计算数据库实时数据时出现异常 - 迁移期间崩溃

我正在使用 cwac-saferoom 版本 1.0.4 并且某些设备在将应用程序更新到新版本后立即出现此问题。

致命异常:java.lang.RuntimeException:计算数据库实时数据时出现异常。在 androidx.room.RoomTrackingLiveData$1.run(SourceFile:6) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)在 java.lang.Thread.run(Thread.java:764)

来自 sqlcipher 本身的另一部分日志是:

由 net.sqlcipher.database.SQLiteException: file is not a database: 引起,编译时:select count(*) from sqlite_master; 在 net.sqlcipher.database.SQLiteCompiledSql.native_compile(SourceFile) 在 net.sqlcipher.database.SQLiteCompiledSql.compile(SourceFile:3) 在 net.sqlcipher.database.SQLiteCompiledSql.(SourceFile:12) 在 net.sqlcipher.database.SQLiteProgram .(SourceFile:18) at net.sqlcipher.database.SQLiteQuery.(SourceFile:1) at net.sqlcipher.database.SQLiteDirectCursorDriver.query(SourceFile:9) at net.sqlcipher.database.SQLiteDatabase.rawQueryWithFactory(SourceFile:5)在 net.sqlcipher.database.SQLiteDatabase.rawQuery(SourceFile:1) 在 net.sqlcipher.database.SQLiteDatabase.keyDatabase(SourceFile:6) 在 net.sqlcipher.database.SQLiteDatabase。

0 投票
1 回答
203 浏览

java - 将 SqlCipher 版本更新到 4.2.0 版本后,我遇到了崩溃

将 SqlCipher 版本更新到 4.2.0 后,虽然它在以前的版本 3.5.9 中工作,但我遇到了以下回溯的崩溃。

0 投票
1 回答
667 浏览

android - 使用 SQLite Cipher 进行数据库加密后 Android 中的 java.lang.UnsatisfiedLinkError

在添加 SQlite 密码之前,我一直在我的 android 应用程序中成功使用串行端口和生物识别库。实施加密数据库后......我突然得到这个异常。即使花了很长时间也不确定原因。

这是我得到的堆栈跟踪。

java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip 文件“/data/app/com.billing.app-1/base.apk”,zip 文件“/data/app/com.billing.app- 1/split_lib_dependencies_apk.apk”,压缩文件“/data/app/com.billing.app-1/split_lib_slice_0_apk.apk”,压缩文件“/data/app/com.billing.app-1/split_lib_slice_1_apk.apk”,压缩文件“/data/app/com.billing.app-1/split_lib_slice_2_apk.apk”,压缩文件“/data/app/com.billing.app-1/split_lib_slice_3_apk.apk”,压缩文件“/data/app/com .billing.app-1/split_lib_slice_4_apk.apk”,压缩文件“/data/app/com.billing.app-1/split_lib_slice_5_apk.apk”,压缩文件“/data/app/com.billing.app-1/split_lib_slice_6_apk” .apk”,压缩文件“/data/app/com.billing.app-1/split_lib_slice_7_apk.apk”,压缩文件“/data/app/com.billing。app-1/split_lib_slice_8_apk.apk", zip 文件 "/data/app/com.billing.app-1/split_lib_slice_9_apk.apk"],nativeLibraryDirectories=[/data/app/com.billing.app-1/lib/arm64 , /data/app/com.billing.app-1/base.apk!/lib/arm64-v8a, /data/app/com.billing.app-1/split_lib_dependencies_apk.apk!/lib/arm64-v8a, / data/app/com.billing.app-1/split_lib_slice_0_apk.apk!/lib/arm64-v8a, /data/app/com.billing.app-1/split_lib_slice_1_apk.apk!/lib/arm64-v8a, /data/ app/com.billing.app-1/split_lib_slice_2_apk.apk!/lib/arm64-v8a, /data/app/com.billing.app-1/split_lib_slice_3_apk.apk!/lib/arm64-v8a, /data/app/ com.billing.app-1/split_lib_slice_4_apk.apk!/lib/arm64-v8a、/data/app/com.billing.app-1/split_lib_slice_5_apk.apk!/lib/arm64-v8a、/data/app/com。 billing.app-1/split_lib_slice_6_apk.apk!/lib/arm64-v8a,/data/app/com.billing.app-1/split_lib_slice_7_apk.apk!/lib/arm64-v8a, /data/app/com.billing.app-1/split_lib_slice_8_apk.apk!/lib/arm64-v8a, /data/app/com.billing.app-1/split_lib_slice_9_apk.apk!/lib /arm64-v8a、/system/lib64、/vendor/lib64、/system/vendor/lib64]]] 找不到“libserial_port.so”

错误说 - 找不到“libserial_port.so”

如图所示,我已经在 jniLibs 中包含了 .so。

在此处输入图像描述

这是我的 app.gradle 的样子