Qt使用CipherSqlite插件访问加密的sqllite数据库
1.下载
git clone https://github.com/devbean/QtCipherSqlitePlugin.git
2.编译CipherSqlite插件
使用qt打开QtCipherSqlitePlugin项目,并构建插件
3.将构建的插件复制到安装目录
4.使用DB Browser (SQLCipher)创建数据库并加密
5.qt使用CipherSqlite插件连接加密数据库
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();
}