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

相关推荐
IvorySQL10 分钟前
PG 日报|查询优化器重大修复,支持更多复杂 SQL 优化
数据库·人工智能·postgresql·开源
写代码的强哥42 分钟前
TiDB 和 OceanBase 对比:架构师视角下的企业选型实战指南
数据库·云原生·架构
茯苓gao1 小时前
嵌入式开发笔记:QSerialPort 完整使用指南——从基础 API 到工程实战
笔记·嵌入式硬件·qt·学习
金融小白数据分析之路2 小时前
绍兴市镇街echarts 制作
前端·数据库·echarts
桐薇全肯定2 小时前
MySQL学生成绩管理系统实战操作
java·数据库·sql
hellojike3 小时前
free-stockdb本地金融数据库核心设计
数据库·金融
井川廊咏3 小时前
初探性能优化——2个月到4小时的性能提升
jvm·数据库·性能优化
这个DBA有点耶3 小时前
热点行更新:秒杀场景下一条UPDATE语句的锁等待与性能优化
数据库·sql·mysql·性能优化·database·dba
在水一缸3 小时前
深入浅出:Node.js 下一代 ORM 架构设计与实战解析
数据库·微服务·云原生·node.js·orm·架构设计
丁劲犇3 小时前
AI辅助快速实现动态多载波PSK随机信号源
人工智能·qt·ai·sdr·多相滤波·动态生成