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

相关推荐
小桥流水人家哇14 小时前
性能测试单场景测试时,是设置并发读多个文件,还是设置不同的用户读不同的文件?
数据库·性能测试技巧
表示这么伤脑筋的题我不会14 小时前
Oracle 21C 部署ogg踩过的坑
数据库·oracle
你不是我我14 小时前
【Java 开发日记】MySQL 与 Redis 如何保证双写一致性?
数据库·redis·缓存
塔能物联运维14 小时前
物联网运维中的边缘计算任务调度优化策略
运维·人工智能·物联网·边缘计算
望获linux14 小时前
【实时Linux实战系列】实时 Linux 在边缘计算网关中的应用
java·linux·服务器·前端·数据库·操作系统
fredinators15 小时前
数据库专家
大数据·数据库
unicrom_深圳市由你创科技15 小时前
工业上位机,用Python+Qt还是C#+WPF?
python·qt·c#
fredinators15 小时前
数据库flask访问
数据库·oracle·flask
向葭奔赴♡15 小时前
Spring Boot 分模块:从数据库到前端接口
数据库·spring boot·后端
科技D人生15 小时前
物联网开发学习总结(5)—— 深入对比 TDengine、InfluxDB 和 TimescaleDB 三大主流时序数据库的性能表现
物联网·postgresql·时序数据库·influxdb·tdengine·timescaledb