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

相关推荐
2301_8176722611 小时前
PHP源码开发用一体机合适吗_集成硬件局限性说明【操作】
jvm·数据库·python
justjinji11 小时前
宝塔面板网站备份文件太大怎么办_调整备份压缩等级与频率
jvm·数据库·python
2301_8135995511 小时前
如何管理多个监听器_listener.ora中非默认端口配置实战
jvm·数据库·python
qq_3422958211 小时前
CSS如何根据父级容器宽度调整子项_利用容器查询container选择器css
jvm·数据库·python
2301_8038756111 小时前
Go语言怎么做分布式缓存_Go语言分布式缓存教程【经典】
jvm·数据库·python
Gauss松鼠会11 小时前
GaussDB(DWS)数据融合:云端GaussDB(DWS)迁移
java·服务器·网络·数据库·性能优化·gaussdb
qq_2069013911 小时前
CSS如何处理CSS颜色模式不兼容_通过fallback定义标准颜色值
jvm·数据库·python
2301_7965885011 小时前
SQL利用窗口函数实现轻量级报表设计_实战技巧
jvm·数据库·python
代钦塔拉11 小时前
Qt调试技巧:解决DLL输入点错误指南
c++·qt
weixin_5689960611 小时前
Python开发Flask项目如何部署到云服务器_使用Fabric自动化发布脚本
jvm·数据库·python