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

相关推荐
微三云 - 廖会灵 (私域系统开发)4 分钟前
电商系统国际化架构设计:多语言、多币种、多时区、多税制的全链路实现
java·前端·数据库
sycmancia19 分钟前
Qt——多线程与界面组件的通信
开发语言·qt·算法
周杰伦的稻香29 分钟前
PostgreSQL中的METHOD(认证方法)
数据库·postgresql
万岳科技系统开发36 分钟前
智慧医院小程序开发满足医疗机构多场景服务需求
数据库·学习·小程序
kisbad1 小时前
Day 012|Embedding 和向量数据库:知识库检索到底在检什么
数据库·python·embedding·agent
Quz1 小时前
QML 基础组件专栏目录(V1)
qt·qml
谷禾牛博1 小时前
肠道菌群检测流程及差异和技术门槛在哪里?
数据库·经验分享·功能测试
Zhu7581 小时前
对docker环境的postgresql数据库做快速初始化
数据库·docker·postgresql
程序员老陆1 小时前
使用Qt+大华设备SDK预览大华摄像机视频
qt·算法·音视频·视频监控
Wang's Blog2 小时前
Go-Zero项目开发5: 数据库与缓存一致性问题及 go-zero 缓存机制解析
数据库·缓存·golang