QT SqLite数据库加密

本文介绍了如何在Qt环境中使用QtCipherSqlitePlugin进行数据库加密,包括下载、编译步骤,以及通过Demo验证插件安装和加密功能。作者还展示了如何设置QSqlDatabase以使用SQLITECIPHER驱动并设置密码。
摘要由CSDN通过智能技术生成

1 版本说明

2 解压文件

解压到没有中文路径。

下载地址:https://github.com/devbean/QtCipherSqlitePlugin

3 编译

只编译文件sqlitecipher下面的pro文件。debug编译过程中会报错。属于正常现象。等编译完毕之后查看debug文件

\build-sqlitecipher-Desktop_Qt_5_12_0_MinGW_64_bit-Debug\plugins\sqldrivers

      

复制这两个库文件,粘贴到qt插件目录。

D:\QT_data\5.12.0\mingw73_64\plugins\sqldrivers

4 Demo代码验证

在解压文件夹下面有demo

文件路径:QtCipherSqlitePlugin-develop\demo

打开.pro文件。

运行之后如果能看到"SQLITECIPHER"说明插件添加成功。

5 代码编写

    QSqlDatabase sql_db;

    //选择数据库驱动
    //此处一定要设置为SQLITECIPHER
    sql_db = QSqlDatabase::addDatabase("SQLITECIPHER");
    sql_db.setPassword("admin");//设置密码

    //设置数据库操作路径
    sql_db.setDatabaseName("user.db");

    //打开数据库
    sql_db.open();

    if(!sql_db.isOpen())
    {
        //警告提示
        QMessageBox::information(this, "后台操作提示", "数据库打开失败");
        return;

    }

此时加密就成功了,不信可以改一下密码或者把db文件上传到这个网站

在线Sqlite查看器|修改器—LZL在线工具 (lzltool.cn)进行解析。

可以区分一下QSQLITE SQLITECIPHER 然后设置密码的区别。

  • 10
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
sqlite3 数据库支持加密,分别使用QtCreator 和 VS2017 分别编译出64位 debug release DLL , (QtCreator只有动态 使用mingW 64 MSVC20147) (VS2017 有动态DLL和静态库 V14.1 ) 有工程源码,也可自行编译。 实例: QString exepath = QCoreApplication::applicationDirPath() +"/GameData.db"; int result=sqlite3_open(exepath.toLatin1().data(),&db); result=sqlite3_key(db,"abcd",4); //使用密码,第一次为设置密码 result=sqlite3_exec(db,"CREATE TABLE [MyTable] ([ID] INTEGER PRIMARY KEY NOT NULL,[MyText] TEXT NULL)",0,0,0); result=sqlite3_exec(db,"INSERT INTO MyTable (MyText) VALUES ('测试!')",0,0,0); result=sqlite3_close(db); 压缩包目录结构: +---sqlite3_QT | | .qmake.stash | | sqlite3.pro | | sqlite3.pro.user | | sqlite3.vcxproj | | sqlite3.vcxproj.filters | | sqlite3.vcxproj.user | | | +---mingw_x64 | | +---debug | | | libsqlite3.a | | | sqlite3.dll | | | sqlite3.h | | | sqlite3userauth.h | | | | | \---release | | libsqlite3.a | | sqlite3.dll | | sqlite3.h | | sqlite3userauth.h | | | +---msvc2017_x64 | | +---debug | | | sqlite3.dll | | | sqlite3.h | | | sqlite3.pdb | | | sqlite3userauth.h | | | | | \---release | | sqlite3.dll | | sqlite3.h | | sqlite3userauth.h | | | \---sqlite3 | \---secure | \---src | \---sqlite3_VS2017 | sqlite3.sln | sqlite3.vcxproj | sqlite3.vcxproj.filters | sqlite3.vcxproj.user | +---msvc2017_x64 | +---debug | | +---dyn | | | sqlite3.dll | | | sqlite3.h | | | sqlite3.pdb | | | sqlite3userauth.h | | | | | \---static | | sqlite3.h | | sqlite3.lib | | sqlite3.pdb | | sqlite3userauth.h | | | \---release |

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值