问题标签 [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 回答
391 浏览

encryption - 使用 SQL 密码加密 Spatialite 数据库

我目前正在使用这里给出的空间库:

我想要的是加密空间数据库,但问题我不知道从哪里开始。

我正在考虑使用 SQLCipher,但如果我没记错的话,sqlcipher 会替换所有 SQLiteDatabase 实例,但我该如何为空间站执行此操作。

有什么想法或有人已经做过类似的事情吗?谢谢!!!

0 投票
1 回答
2197 浏览

android - 从我现有应用程序的数据库中删除 SQLCipher 加密

我有一个使用 SQLCipher 进行数据库加密的 Android 应用程序。该应用程序已上线并拥有许多活跃用户。我正在寻找一种解决方案,它可以从应用程序的现有数据库中删除 SQLCipher 加密,而不会丢失用户的数据。

我尝试与这篇文章中提到的相反,但无法打开我的加密数据库文件。

而且,这是我得到的错误日志......

0 投票
1 回答
406 浏览

android - SQLCipher 数据库大小在从表中删除记录后继续增长

我的 Android 应用程序使用 SQLCipher 进行数据库加密,根据我的项目要求,我需要将位图字符串存储在本地数据库中,一旦成功上传到服务器,就需要从数据库中删除。但是在这里我遇到了一个非常奇怪的 SQLCipher 问题,即即使在从表中删除所有图像字符串之后,我的应用程序的数据库大小并没有减少,而是增加了。例如,我的数据库的初始大小为 45 KB,表中的 30 个图像字符串大小变为 2.91 MB,并且从表大小中删除 30 个图像后增加到 3.04 MB

但是,当我对普通 SQLite 数据库(即没有 SQLCipher 加密)进行相同的情况下,我得到了预期的结果,即在从表中删除图像后,db size 2.91 减少到 50 KB。

请协助...

0 投票
2 回答
843 浏览

android - SQLiteException 不是 net.sqlcipher.database.SQLiteDatabase.dbopen 的错误(本机方法)

在 android studio 中运行 junit 测试用例时遇到问题。这个问题很奇怪,因为当我第一次在手机中运行测试用例时,它工作得很好,但是如果应用程序已经安装并且当我运行测试用例时,我会收到以下错误:-

所有 sqlcipher 依赖项均已正确配置。

0 投票
0 回答
446 浏览

android - Android SQLCipher - 尝试在 android 5.x 及更高版本中写入只读数据库错误

自上个月以来,我遇到了 sqlcipher 的一个问题。

在我的项目中,我使用存储在资源文件夹的原始文件夹中的现有数据库。

我使用 SQLiteDatabase.openOrCreateDatabase() 方法打开数据库。它在 5.0 版之前的所有设备上都可以正常工作。但它在 Android 5.x 及更高版本上显示错误,日志如下:我也在互联网上搜索。我在链接中发现了相同的问题,但没有解决方案。链接为:https ://github.com/sqlcipher/android-database-sqlcipher/issues/161

错误日志如下:

DELETE 设置区域设置失败 08-13 09:44:58.388: E/Database(6507): 构造时无法 setLocale(),关闭数据库 08-13 09:44:58.388: E/Database(6507): net.sqlcipher .database.SQLiteException: 尝试写入只读数据库 08-13 09:44:58.388: E/Database(6507): at net.sqlcipher.database.SQLiteDatabase.native_setLocale(Native Method) 08-13 09:44:58.388: E/数据库(6507):在 net.sqlcipher.database.SQLiteDatabase.setLocale(SQLiteDatabase.java:2098)

0 投票
1 回答
5716 浏览

android - 在 Android Studio 项目中集成 SQLCIPHER

我尝试在我的 Android 应用程序中集成 SQLCipher,使用此链接以及一些堆栈溢出链接(但它们已过时并且与官方文档不同)。

所有步骤都正确执行,编码部分没有错误。但最后,当我构建项目时,我得到的错误消息是:

Error:(11, 0) Gradle DSL method not found: 'defaultConfig()' 可能的原因:

  • 项目“android-database-sqlcipher-master1”可能正在使用不包含该方法的 Gradle 版本。打开 Gradle 包装文件
  • 构建文件可能缺少 Gradle 插件。应用 Gradle 插件
  • 谁能帮我摆脱这个错误。

    0 投票
    0 回答
    108 浏览

    android - greenDAO:抽象出数据库实现

    我想基于与 sqlcipher 非常相似的东西在 greenDAO 中使用我自己的自定义 SQLiteDatabase 实现。我看到了 greenDAO 的一个新提交的分支“DbAbstraction”。这正是我需要的。我在问作者:是否有计划将其与 master 合并?我知道我可以分叉整个 greenDAO 并自己修补它,但我希望使这些东西变得干净并与 greenDAO 的未来版本兼容。每个新版本后都打补丁看起来不太好。任何提示如何进行?

    0 投票
    1 回答
    6109 浏览

    android - Java.lang.UnsatisfiedLinkError:找不到“libstlport_shared.so

    我对 SQL Cipher 很陌生。我读了很多东西,并在我的项目中实现了 SQLCipher。

    我已将以下 JAR 文件放入app/src/libs

    • commons-codec.jar
    • 番石榴-r09.jar
    • sqlcipher.jar
    • sqlcipher-javadoc

    我已将以下文件放入app/src/main/assets

    • icudt46l.zip

    我已将以下文件放入app/src/main/jniLibs

    1. 在文件夹中: armeabi

      • libdatabase_sqlcipher.so
      • libsqlcipher_android.so
      • libstlport_shared.so
    2. 在文件夹中: armeabi-v7a

      • libdatabase_sqlcipher.so
      • libsqlcipher_android.so
      • libstlport_shared.so
    3. 在文件夹中: x86

      • libdatabase_sqlcipher.so
      • libsqlcipher_android.so
      • libstlport_shared.so

    在我在 android studio 中的 gradle 文件下方。

    在此之后,我运行我的应用程序,每次都会崩溃并出现以下错误。

    0 投票
    0 回答
    511 浏览

    android - 符合 HIPAA 的安卓应用程序

    构建一个符合 HIPAA 的应用程序,我想知道如何将访问令牌存储到远程服务器,和/或拥有一个本地 SQL 加密的本地数据库(例如 SQLCipher)。

    考虑到 HIPAA 要求的性质,我只能得出结论,密钥的适当位置只能在服务器上,而不能在本地移动设备上:

    HIPAA 标准的第 164.312 节规定如下:

    (a)(1) 标准:访问控制。为维护受保护的电子健康信息的电子信息系统实施技术政策和程序,以仅允许访问已被授予 §164.308(a)(4) 中规定的访问权限的人员或软件程序。

    所以更具体地说,

    1)假设有权访问电话的人最终可以提取密钥/访问令牌,这是否意味着本地密钥存储不符合 HIPAA 标准?

    2) 消息传递应用程序如何符合 HIPAA?由于每次打开应用程序时都不会提示用户输入密码,这意味着访问令牌保存在手机本地的某个位置。

    0 投票
    0 回答
    49 浏览

    android - Android APP的文字安全,无人可复制

    我正在开发安卓应用程序。它包含许多页面和这些页面上的文本。我不希望用户使用任何机制(例如从 APK 获取文本)来复制这些文本。用户可以制作快照和提取文本,但我会确保它对用户不可行。如果我硬编码文本,那么任何人都可以从 APK 中提取它。有什么方法可以阻止用户获取文本。如果我使用 SqlCipher 将文本存储在 Sqlite 中,然后在 Android APP 上显示文本怎么办?我想在移动设备上存储数据不想要网络连接。