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怎么加密