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

相关推荐
wefg17 分钟前
【Redis】C++ 自定义客户端
数据库·redis·缓存
这个DBA有点耶17 分钟前
为什么UPDATE比SELECT危险得多?锁范围等于扫描行数
数据库·架构·代码规范
天国梦43 分钟前
国密门禁品牌怎么选?2026年最新3个避坑要点
运维·服务器·数据库·python
DB哥讲数据库1 小时前
【达梦数据库安装教程】超详细图文讲解-附达梦安装包
数据库·oracle
好好学习O(∩_∩)O1 小时前
[QT] 多线程moveToThread 和易踩的8个坑
开发语言·qt
Hoxy.R1 小时前
【金仓数据库产品体验官】KingbaseES V9R2C16 坏块检测与修复完整测试流程
数据库
太理摆烂哥3 小时前
MySQL数据库基础
数据库·mysql
wuhuhuan3 小时前
JMeter 连接数据库并取值(JDBC 实战)
数据库·jmeter
北i3 小时前
Dubbo 默认超时重试:把下游打雪崩的隐形放大器
开发语言·qt·dubbo
小羊没烦恼!4 小时前
OS X 上使用.NET开发应用程序
开发语言·前端·数据库·人工智能·c#·策略模式