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

相关推荐
Predestination王瀞潞18 分钟前
数据库MongoDB 8.2.3和Shell工具的安装
数据库
MediaTea21 分钟前
Python:实例 __dict__ 详解
java·linux·前端·数据库·python
今夕资源网22 分钟前
如何修复“无需升级,您的WordPress数据库已经是最新的了”无限死循环
数据库·wordpress
盛世宏博北京33 分钟前
学校图书馆自动化恒温恒湿控制系统技术方案
网络·数据库·人工智能
Sammyyyyy1 小时前
MongoDB 的文档模型与 CRUD 实战
开发语言·数据库·mongodb·servbay
宁小法1 小时前
SQL查询对比: select exists($sql) 跟 select * from `users` where `id` = 60000001的区别差异
数据库·sql·select exists
语落心生1 小时前
Flink 到 Doris 数据同步----从二阶段提交到幂等性 StreamLoader 的演进之路
数据库
程序员阿鹏1 小时前
事务与 ACID 及失效场景
java·开发语言·数据库
Larry_Yanan1 小时前
Qt多进程(四)QTcpSocket
开发语言·c++·qt·ui
CC.GG2 小时前
【Qt】常用控件----QWidget属性
java·数据库·qt