Qt使用CipherSqlite插件访问加密的sqllite数据库

1.下载

git clone https://github.com/devbean/QtCipherSqlitePlugin.git

2.编译CipherSqlite插件

使用qt打开QtCipherSqlitePlugin项目,并构建插件

3.将构建的插件复制到安装目录

4.使用DB Browser (SQLCipher)创建数据库并加密



5.qt使用CipherSqlite插件连接加密数据库

cpp 复制代码
	QString dbFilePath = QCoreApplication::applicationDirPath() + "/db/test.db";
    QSqlDatabase dbconn = QSqlDatabase::addDatabase("SQLITECIPHER");
    dbconn.setDatabaseName(dbFilePath);

    dbconn.setPassword("123");
    //如果在debug窗口输出dbconn.driver():  SQLiteCipherDriver(0x2360f83aa30),证明插件导入成功
    qDebug() << "dbconn.driver(): " << dbconn.driver();
    dbconn.setConnectOptions("QSQLITE_USE_CIPHER=sqlcipher; SQLCIPHER_LEGACY=4; SQLCIPHER_LEGACY_PAGE_SIZE=4096");

    // 打开数据库连接
    if (dbconn.open()) {
        qDebug() << "Success to open the database";
    } else {
        qDebug() << "Failed to open the database:" << dbconn.lastError().text();
    }

相关推荐
2501_933670792 小时前
2026秋招数据分析岗备考路线:SQL、BI、项目与面试题拆解
数据库
我要见SA姐15 小时前
告别 Copilot?Codex 本地化部署指南
运维·数据库·机器学习·oracle·回归
xcLeigh6 小时前
聊聊国产化替换:好用数据迁移工具KDMS怎么帮咱们搞定评估难
数据库·sql·数据迁移·kes·kdms
Elastic 中国社区官方博客6 小时前
列式存储并不等同于列式数据库。Columnar 模式为 Elasticsearch 带来了什么
大数据·运维·数据库·elasticsearch·搜索引擎
我要见SA姐16 小时前
用 Claude Code 重构遗留系统:从评估到落地的完整实践指南
数据库·ide·vscode·oracle·编辑器
HZZD_HZZD6 小时前
CSDN_批发市场水电漏损归因算法LAM的原理与落地
嵌入式硬件·物联网·算法
Quz7 小时前
QML 常见的四种导航布局
qt
Nturmoils8 小时前
一份 KDMS 评估报告,怎样排出迁移先后顺序
数据库
这个DBA有点耶8 小时前
异构数据集成怎么做?5 种同步方案对比 + 金融级 CDC 实战解析
数据库·oracle·架构
独泪了无痕8 小时前
SQL函数实战:GREATEST与LEAST的技巧
数据库·sql·mysql