Qt的Sqlite加密插件

工作上的需求,本地SQLite数据库需要加密,于是找到了这个库https://github.com/devbean/QtCipherSqlitePlugin

直接使用Qt Creator编译,编译出的sqlitecipher(d).dll 复制到 Qt 的插件目录 plugins/sqldrivers 即可

使用很简单,代码如下

QSqlDatabase db=QSqlDatabase::addDatabase("SQLITECIPHER");
db.setPassword("password");
db.setDatabaseName("database.db");
if(!db.open()) {
	QFile("./database.db").remove();
	if(!db.open()) {
		qWarning() << "open data base error: " << db.databaseName() << db.lastError().text();
		return false;
	}
}
return true;

加密后的数据的打开方式,使用SQLiteStudio,打开选项如下
qt-sqlite.png

更多使用技巧可以参考这里