1. 加密方式
- 对数据库文件加密。既不会暴露表结构,也不会暴露数据细节。
 
2. 加密工具(QtCipherSqlitePlugin)
- 用于密码 SQLite 的 Qt 插件,它基于 SQLite 源和 wxWidget 中的 wxSQLite3
 - 插件github地址:https://github.com/devbean/QtCipherSqlitePlugin
 
3. 编译插件
- 编译DLL文件: 
  
- 使用qtcreator打开pro文件,选择项目的编译器,在debug模式下编译。
 
 - 将插件放入QT安装目录 
  
- 找到
sqlitecipher/plugins/sqldrivers/sqlitecipher.dll文件,将其加入到qt目录下qt\5.15.2\mingw81_64\plugins\sqldrivers 
 - 找到
 - 检查插件是否加载成功 
  
- 运行代码
qDebug() << QSqlDatabase::drivers(),出现"SQLITECIPHER"代表插件加入成功 
 - 运行代码
 
4. 使用插件
	//加密前代码
	QSqlDatabase  m_db = QSqlDatabase::addDatabase("QSQLITE", "Users");
    m_db.setDatabaseName("Users.db");
    m_db.open()
	//加密后代码
	m_db = QSqlDatabase::addDatabase("SQLITECIPHER", "Users");	//需要行
	m_db.setDatabaseName("Users.db");
	m_db.setPassword("testkey");; //添加密码
    m_db.open()
 
5. 数据库查看
SQLiteStudio添加数据库文件。
 
6.参考
QtCipherSqlitePlugin插件使用 (2)
 Qt数据库sqlite怎么加密



















