问题标签 [sqlcipher]

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 投票
2 回答
1994 浏览

android - sqlcipher 因“不是错误”堆栈跟踪而崩溃

我正在尝试在我的 API 16 (Motorola Xoom 4.1.2) 项目中使用 sqlcipher (2.0.8) 并获得以下堆栈跟踪。我在 libs 的 armeabi 文件夹和资产文件夹中的 icudt46l.zip 中有 3 个 so 库。我SQLiteDatabase.loadLibs(context);在 onCreate 我的活动。然而,当 II 创建数据库时,应用程序崩溃了。

0 投票
1 回答
3306 浏览

java - 将 SqlCipher 与 android 应用程序集成(在 Windows 上)

我不太了解以下文档:http ://sqlcipher.net/sqlcipher-for-android/

我应该怎么做,步骤是什么?似乎这些说明只属于 MAC 用户,我的操作系统是 Windows 7。

谁能告诉我我该怎么办?二进制文件包含“libs”和“assets”文件夹。如何将这些集成到我现有的应用程序中?

0 投票
2 回答
2329 浏览

objective-c - 为 SQLCipher 问题加密数据库

我在创建新的加密数据库时遇到问题。我已经对此进行了研究,这些是我尝试过的一些解决方案。

使用基于http://sqlcipher.net/design/的终端

运行 hexdump 仍然给我非加密的数据库文本。

在 ios 中对现有 Db 执行附加方式。

上面运行没有问题,但 encrypted.db 没有出现在我的文档文件夹中。

在我的应用程序中设置 ssl 和 sqlcipher 之后。使用这个

它给了我不正确密码的 NSLog,当然我的数据库也没有加密。

我还能做些什么来加密我的数据库?谢谢。

0 投票
2 回答
1430 浏览

ios - 尝试编译 SQLCiper iOS 项目时出错

我正在尝试在我的 iOS Phonegap 应用程序中使用 SQLCipher。我已经安装了 SQLCipher,它运行良好。我最近升级了我的洞环境以支持 iOS6 并将 SQLCipher 添加到我的项目中,现在我收到了这个错误:

我是objective-c的新手。如果您对解决此问题有任何想法,请告诉我。

我的环境:

编辑:

提前致谢,

0 投票
0 回答
3841 浏览

android - 使用 sqlcipher 加密已经存在的数据库并在 android 上打开它

我使用 sqlcipher 文档中给出的以下方法加密了我已经存在的 sqlite 数据库

这可以工作并生成一个加密数据库,其内存大小与原始数据库相当。然后我尝试使用访问我的android应用程序上的数据库

SQLiteDatabase db = SQLiteDatabase.openOrCreateDatabase(myDatabasePath, "testkey", null);

查询 db 实例显示数据库中没有现有表。我能够创建新表并向它们添加行并读取它们,但我看不到旧的现有表。我仔细遵循了更改导入的 sqlcipher 文档中给出的指南。

0 投票
2 回答
2825 浏览

java - 在 SQLCipher 中设置密码

我想用 SQLCipher 创建一个新的加密数据库,由于以下链接,我真的不明白如何设置密钥:http: //sqlcipher.net/sqlcipher-api/#key

正如文档所解释的,我必须使用 PRAGMA 设置一个键,但是我从哪里执行该命令?

0 投票
2 回答
2472 浏览

android - Android SQLcipher PRAGMA 问题

嘿伙计们,我在使用 SQLcipher db for android 时遇到了一些问题,文档描述性不太强,所以我无法弄清楚。

我正在尝试修改 sqlcipher for android 的默认迭代次数,我正在编辑作为演示应用程序提供的 notecipher 应用程序,并希望将 kdf_iter 增加到 5000

通过覆盖数据库帮助程序中的 getWritableDatabase() 方法,我在使用密码打开文件后输入编译指示值。

我可以打开并初始化数据库,但如果我调用 database.close(),我将无法重新打开数据库。

每当我在下一次 open() 调用中关闭数据库时,我都会得到:

0 投票
1 回答
351 浏览

android - SQLDroid 和加密数据库

我的应用程序已经存在一个数据库。“已经存在”是指我没有在我的应用程序中创建数据库,我只是连接到它并读取数据。要设置连接,我使用 SQLDroid。

现在我想知道是否有可能用 SQLDroid 加密我的数据库?否则我的数据库是未加密的,任何人都可以读取数据。

我已经尝试过使用 SQLCipher,但问题是我必须在我的应用程序中创建我的数据库,而我没有在做......

我知道有可能使用在线应用程序(-> 数据库在服务器上),但这不是我的解决方案,因为我必须制作一个离线应用程序。

我对每一个想法都很高兴。谢谢你。

0 投票
1 回答
1242 浏览

android - 资产文件夹中的 Android SQLCipher 和 DB

目前,我的 sqlite db 文件未加密,它已从assets文件夹复制到应用程序data/data/mypackage/databases文件夹。

现在我想将SQLCipher库添加到我的项目中并开始使用它们。我可以加密 db 文件并将其复制到应用程序中assets并在应用程序中使用相同的密钥吗?是否可以在 Windows 上加密数据库?我需要做什么?

0 投票
1 回答
2868 浏览

java - 为 SQLCipher 加密已经存在的数据库

我在我的应用程序中使用了一个已经存在的数据库(另见1)。我使用 Java 应用程序加密了数据库。在我的应用程序中,我尝试使用以下代码读取 encrypted_database,但出现SQLiteException: file is encrypted or is not a database

我已经用 SQLCipher 加密了我的数据库,我也可以读取数据,所以一切正常。

SQLCipher 和现有数据库的问题是我必须将完整的 unencrypted_database 复制到 encrypted_database。当我在手机上执行此操作时,这需要很长时间。

我的想法是:用java编写一个加密数据库的应用程序,并在你的应用程序中使用这个 encrypted_database。结果是我只需要在我的应用程序中打开已经存在的 encrypted_database 并且不需要复制。

现在我写了一个 Java 应用程序(基于2 , 3)但是仍然有一些与 SQLCipher 及其设计相关的问题(4):

  • 如何在数据库页面中划分我的数据库?在4中,数据库页面仅由其大小(1024 字节)定义。但是我必须在我的 encrypted_database 文件中写入“数据库页面开始”或“数据库页面结束”
  • 盐和随机初始化向量 (iv) 是 1024 字节的一部分吗?

    /li>

我感谢每一个帮助/想法/评论:)