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();
    }

相关推荐
小码过河.3 小时前
告别 mysqldump 痛点!用 mydumper 实现 MySQL 高效备份与恢复
数据库·mysql
TDengine (老段)3 小时前
从“数据堆场”到“智能底座”:TDengine IDMP如何统一数据语言
大数据·数据库·物联网·时序数据库·tdengine
l1t4 小时前
利用短整数类型和部分字符串优化DuckDB利用数组求解数独SQL
开发语言·数据库·sql·duckdb
云山工作室4 小时前
基于单片机的智能家居窗帘控制系统设计(论文+源码)
stm32·单片机·嵌入式硬件·物联网·课程设计
CodeKwang5 小时前
Qt实战:自定义搜索跳转控件 | 附完整源码
qt·qt控件
一 乐5 小时前
医疗管理|医院医疗管理系统|基于springboot+vue医疗管理系统设计与实现(源码+数据库+文档)
java·数据库·vue.js·spring boot·后端·医疗管理系统
努力还债的学术吗喽5 小时前
【项目】pyqt5基于python的照片整蛊项目
开发语言·python·qt
weixin_459548905 小时前
Qt对话框设计
qt
TDengine (老段)5 小时前
从细胞工厂到智能制造:Extracellular 用 TDengine 打通数据生命线
java·大数据·数据库·科技·制造·时序数据库·tdengine
L.EscaRC8 小时前
浅析MySQL InnoDB存储引擎的MVCC实现原理
数据库·mysql