在做项目时使用的sqlite,但是这个数据库没有自带的密码设置,查了好多资料,终于解决了,感谢这个博主大佬的资料
qt sqlite数据库加密和navicat实现互连互通_qt sqlite aes_128_cbc-CSDN博客
下面仅供个人记录做参考
1.https://codeload.github.com/devbean/QtCipherSqlitePlugin/zip/refs/heads/develop
从git下载源码下来,编译 ,编译的时候只能编译debug类型的,编译出来的dll 拷贝到qt路径
2.编写qt示例代码,注:从navicat 创建的加密文件是aes128cbc的方式的,一定要把解密方式设置成这个,不然创建的db navicat会打不开,或者navicat创建的内容qt会识别不了
qDebug() << QSqlDatabase::drivers();
bool success;
QSqlDatabase db = QSqlDatabase::addDatabase("SQLITECIPHER");
db.setDatabaseName("F:/test3333.db");
db.setPassword("123456");
db.setConnectOptions("QSQLITE_USE_CIPHER=aes128cbc");
if(!db.open()){
qDebug()<<"无法打开数据库";
}
else {
qDebug()<<"成功打开数据库";
}
这个博客也有介绍
带有加密功能的 SQLite Qt 插件(v1.0) - DevBean Tech World
标签:sqlite,加密,qt,db,navicat,编译 From: https://www.cnblogs.com/newbie8/p/18124621