首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQLCipher v3.2.0无法打开用SQLCipher v2.1.1创建的数据库

SQLCipher v3.2.0无法打开用SQLCipher v2.1.1创建的数据库
EN

Stack Overflow用户
提问于 2014-12-17 16:32:35
回答 1查看 491关注 0票数 1

我使用SQLCipher GIT存储库mingw32和这个如何.编译了mingw32 v3.2.0。我成功地获得了一个工作的sqlite3.dll,它可以创建加密和未加密的数据库。

但是,当我尝试打开用SQLCipher v2.1.1创建的加密数据库时,它无法打开数据库。我还尝试使用SQLCipher v2.1.1打开用SQLCipher v3.2.0创建的数据库,但也失败了。

我猜问题在于SQLCipher v3.2.0使用的默认密码算法和SQLCipher v2.1.1使用的默认密码算法。

使用GIT存储库中可用的源文件,我检查了与SQLCipher v2.1.1一起使用的默认密码算法,该算法是AES-256-CBC,密钥为64 (字节/比特)。SQLCipher v3.2.0似乎使用了相同的默认算法。

SQLCipher v2.1.1是两年前在zetetic.net上购买的静态版本。

有没有办法检查数据库是加密的哪种算法?我想不会吧。

你们认为这是密码算法选择问题吗?还是别的什么?

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-12-17 22:41:24

3.x版本的SQLCipher可以在2.x数据库上运行,但是密钥派生长度从4,000增加到64,000,这可能是您遇到问题的原因。您可以在输入数据库后发出以下命令,对2.x数据库文件执行一次升级:

PRAGMA cipher_migrate;

另一种选择是将kdf_iter值下调到4000。有关这些选项的更多信息可以在涵盖3.0.0发行版的博客帖子上获得。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27530310

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档