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

相关推荐
数据与后端架构提升之路18 分钟前
系统架构设计师常见高频考点总结之数据库
数据库·系统架构
xixingzhe231 分钟前
MySQL CDC实现方案
数据库·mysql
tqs_123451 小时前
tcc中的空回滚和悬挂问题
java·数据库
哪里不会点哪里.1 小时前
Spring 事务机制详解:原理、传播行为与失效场景
java·数据库·spring
IT大白1 小时前
8、MySQL相关问题补充
数据库·sql
爪哇天下2 小时前
Mysql实现经纬度距离的排序(粗略的城市排序)
数据库·mysql
独自破碎E2 小时前
MySQL中有哪些日志类型?
数据库·mysql
笨蛋不要掉眼泪2 小时前
Redis核心数据类型与命令
数据库·redis·缓存
少控科技2 小时前
QT新手日记 030
开发语言·qt
数据知道2 小时前
一文掌握 MongoDB 详细安装与配置(Windows / Linux / macOS 全平台)
linux·数据库·windows·mongodb·macos