Qt使用wxsqlite为sqlite加/解密并制作sqlite3shell工具

7 篇文章 0 订阅
3 篇文章 0 订阅
本文介绍了在QT嵌入式开发中如何使用wxSQLite为sqlite3数据库进行加密,确保敏感信息的安全。主要涉及两种加密方式:SQLCipher和wxSQLite。详细步骤包括下载wxSQLite文件,将其添加到QT工程中,设置预编译宏,以及创建中间层接口。通过示例展示了加密后的数据库无法被未授权的sqlite3打开,确保了数据的保护。
摘要由CSDN通过智能技术生成

在嵌入式上使用QT开发用户界面时候,少不了使用数据库。但是Qt自带的sqlite3数据库是没有加密的,因此当保存一些敏感信息的时候很容易暴漏个人隐私。网上查了很多资料,此处做下总结方便大家学习。

1.加密方式分类

1.1)使用SQLCipher加密。

1.2)使用wxSqlite加密。

2.使用wxSqlite加密步骤

2.1)下载并解压文件

下载地址:Releases · utelle/wxsqlite3 · GitHub 

此处我下载的是3-4.5.1,解压后如下:

 由于文件众多,我们不用看其他的目录,只需要关注sqlite3secure目录即可。

2.2)把sqlite3secure目录下文件拷贝到自己新建的QT工程中,并添加到自己工程。

需要添加的文件我新建了一个 wxsqlite3.pri代码如下

CONFIG(release, debug|release):DEFINES *= NDEBUG

DEFINES += SQLITE_HAS_CODEC  #一定要加上这个预编译宏

INCLUDEPATH += $$PWD
DEPENDPATH  += $$PWD

HEADERS += \
    $$PWD/sqlite3.h \
    $$PWD/codec.h \
    $$PWD/rijndael.h \
    $$PWD/sha2.h \
    $$PWD/fastpbkdf2.h \
    $$PWD/mystdint.h \
    $$PWD/sha1.h \
    $$PWD/sqlite3secure.h \
    $$PWD/sqlite3userauth.h

SOURCES += \
    $$PWD/sqlite3.c \
    $$PWD/sqlite3secure.c \
    $$PWD/codec.c \
    $$PWD/rijndael.c \
    $$PWD/codecext.c \
    $$PWD/sha2.c \
    $$PWD/chacha20poly1305.c \
    $$PWD/fastpbkdf2.c \
    $$PWD/md5.c \
    $$PWD/rekeyvacuum.c \
    $$PWD/sha1.c \
    $$PWD/userauth.c

2.3)增加中间层接口 

 接口文件放到下载链接。

3.使用成果

3.1)在工程中随便增加两条数据

3.2)使用sqlite3本尊来打开该数据库如下 

 

不管是不是输入key,结果都是一样,打不开数据库。

3.3)使用我们编译的shell文件打开数据库如下

所有代码上传至:qt使用wxsqlite对sqlite3进行加密

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Liu-Eleven

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值