【Qt】Sqlite数据库加密

1. 加密方式

  • 对数据库文件加密。既不会暴露表结构,也不会暴露数据细节。

2. 加密工具(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. 使用插件

c 复制代码
	//加密前代码
	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怎么加密

相关推荐
憧憬成为原神糕手10 小时前
Playwright、Selenium、DrissionPage 与 JSON 接口怎么选?
数据库·selenium·json
long31610 小时前
04-MySQL 扩展学习资料
数据库·mysql·adb
Quz10 小时前
QML ProgressBar 基础用法:默认样式与平滑动画
qt
繁重的秋春10 小时前
Qt6.0下的CMake的部署配置
qt·cmake
qq_4017004110 小时前
Qt 程序启动太乱?重新设计你的 Application 生命周期
开发语言·qt
Quz10 小时前
QML Tumbler 自定义滚轮:用 PathView 实现横向选择器
qt
Zldaisy3d10 小时前
连续纤维增材制造的机翼已飞上天,复材打印在低空飞行器上还需翻过几道坎?
java·前端·数据库
倔强的石头_11 小时前
连接池参数治理-HikariCP怎么配才稳
数据库
wWYy.11 小时前
Mysql:二级索引
数据库·mysql
jnrjian11 小时前
PG 导出表为excel iconv 乱码
数据库·postgresql