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

相关推荐
inksci4 分钟前
Python 中使用 SQL 连接池
服务器·数据库·python
Morwit20 分钟前
Qt qml创建c++类的单例对象
开发语言·c++·qt
Tao____22 分钟前
如何对接Modbus-tcp协议(使用Thinlinks物联网平台)
java·物联网·网络协议·tcp/ip·modbus
正在走向自律23 分钟前
金仓数据库KingbaseES基础语法详解与实践指南
数据库·国产数据库·ddl·dml·kingbasees·sql语法·电科金仓
alonewolf_9924 分钟前
MySQL全局优化详解与8.0新特性全面解读
数据库·mysql
YxVoyager26 分钟前
Qt C++ :QRegularExpression 正则表达式使用详解
c++·qt·正则表达式
ASS-ASH26 分钟前
快速处理虚拟机磁盘扩容问题
linux·数据库·vmware·虚拟机·磁盘扩容
爱写bug的野原新之助32 分钟前
数据库及navicat工具
数据库·网络爬虫·工具
qq_4017004132 分钟前
QStackedLayout 实现遮罩层
qt
数据知道35 分钟前
一文掌握 MongoDB 存储引擎 WiredTiger 的原理
数据库·mongodb·数据库架构