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

相关推荐
why1515 小时前
微服务商城-商品微服务
数据库·后端·golang
柒间5 小时前
Elasticsearch 常用操作命令整合 (cURL 版本)
大数据·数据库·elasticsearch
0x7CF7 小时前
QT3D学习笔记——圆台、圆锥
qt·学习·3d
远方16097 小时前
18-Oracle 23ai JSON二元性颠覆传统
数据库·oracle·json
jllllyuz8 小时前
如何为服务器生成TLS证书
运维·服务器·数据库
伍六星9 小时前
Flask和Django,你怎么选?
数据库·django·flask
杜哥无敌9 小时前
ORACLE 修改端口号之后无法启动?
数据库·oracle
远方16099 小时前
0x-4-Oracle 23 ai-sqlcl 25.1.1 独立安装-配置和优化
数据库·ci/cd·oracle
远方160910 小时前
0x-3-Oracle 23 ai-sqlcl 25.1 集成安装-配置和优化
数据库·ide·ai·oracle