qt自带sqlite驱动,容易操作。但官方免费版本不支持sqlite加密,这意味着数据处于无保护状态,任何人都可以随意篡改。因此需要对sqlite进行加密。上网搜索发现了QtCipherSqlitePlugin插件。在此记录一下我的加密过程。
加密SQLite3
前提:已经下载好navicat和sqlite3。使用navicat创建加密的sqlite数据库视频教程如下:
https://www.bilibili.com/video/BV1ni4y1i77Z
Qt使用SQLITECIPHER连接加密的数据库
获取插件文件压缩包:QtCipherSqlitePlugin
压缩包中有三个文件:demo,sqlitecipher,test_plugin,我们需要做的是将sqlitecipher文件中的源代码,也就是.pro文件进行编译。注意编译时选的是mingw64或mingw32或者其他,和你需要的对应好。具体的操作看下方链接:
插件的使用方法:Guide for 1.3
遇到的问题及解决办法
刚看到时不知道怎么下载,或者说下载哪一版。
- 点击绿色按键Dode–>download ZIP(下载压缩包)或者 图二最下方的Releases 3中的1.3
- 编译 sqlitecipher 文件中的.pro文件,我编译的是debug版,不知道debug和release有什么不同,知道的小伙伴可以回复下。编译过程中没有报错但有警告,可忽略。编译完成后复制 sqlitecipher 生成的 .dll文件 到Qt对应的驱动下。(我编译的是mingw64,图一为插件编译生成的驱动。图二为需要复制到的路径)
qt中存在SQLITECIPHER驱动但连接是却显示没驱动
解决办法:https://ask.csdn.net/questions/8056377