【问题标题】:Qt sqlcipher on ubuntuubuntu 上的 Qt sqlcipher
【发布时间】:2014-11-11 19:02:39
【问题描述】:

经过努力,我确实设法在 ubuntu 上使用 Qt 构建了 sqlcipher。 它被检测和加载的驱动程序与未加密的数据库一起工作正常。 问题是当我尝试执行某些特定于驱动程序的加密 sql 查询时,它不起作用。假设它失败的查询是“sqlcipher_export('dummyDB')”。

首先必须对现有数据库进行加密,所以我要做下一个:

SUCCESS -> ATTACH DATABASE '/home/costy/test.db.tmp' AS dummy KEY 'foo'

FAILE -> SELECT sqlcipher_export('dummy')

我让这个项目在 Windows 上运行了 2 年多没有问题,现在确实决定也制作一个 Linux 版本,但这个问题困扰着我。

-

顺便说一句,还有另一篇帖子在问,但我不能在那里发表评论 Build sqlcipher on ubuntu

缺少OpenSSl库的问题

cannot find -lcrypto -> sudo apt-get install libssl-dev

其他常见错误是缺少 SQLite 库

cannot find -lsqlite3 -> sudo apt-get install libsqlite3-dev

谢谢

【问题讨论】:

    标签: linux qt ubuntu build sqlcipher


    【解决方案1】:

    您可以通过在运行时查询当前版本的 SQLCipher 来验证您的驱动程序是否正确使用 SQLCipher。这可以通过发出以下命令来完成:

    PRAGMA cipher_version;
    

    sqlcipher_export('…'); 可能会失败,因为 Qt 驱动程序没有使用 SQLCipher 正确构建,而您可能只是在加载 SQLite。

    【讨论】:

    • 你是对的,加载了错误的驱动程序。 “PRAGMA cipher_version;”返回 NULL。谢谢...
    猜你喜欢
    • 1970-01-01
    • 2015-05-15
    • 1970-01-01
    • 2018-06-17
    • 2018-06-14
    • 1970-01-01
    • 1970-01-01
    • 2019-08-16
    • 1970-01-01
    相关资源
    最近更新 更多