SQCipher:OpenSSL 到 CommonCrypto

SQCipher : OpenSSL to CommonCrypto

刚刚将最新版本的 sqlcipher 库安装到我的 iOS 项目中。 所以我从 OpenSSL 切换到 CommonCrypto(sqlcipher iOS 教程也发生了变化)。

现在,我得到一个"DB Error: 26 "文件已加密或不是数据库”。在这两种情况下,使用 CommonCrypto 的新加密引擎似乎无法识别我之前使用 OpenSSL 加密并使用 SQLCipher 的数据库文件.当然db key是一样的...

合乎逻辑吗?我应该保留 OpenSSL 吗?

您现有的数据库文件可能是使用 1.x 或 2.x SQLCipher 文件格式创建的。如果是这种情况,您可以升级现有的数据库文件,或者减少新库使用的密钥派生迭代长度以匹配现有的数据库格式。可以找到更多详细信息 here.