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

7 篇文章 0 订阅
3 篇文章 0 订阅

在嵌入式上使用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
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
SQLite数据库加密解密工具是指用于对SQLite数据库进行加密解密操作的软件工具SQLite数据库是一种轻型的数据库管理系统,通常用于嵌入式设备或移动应用程序中。然而,SQLite数据库默认不支持加密功能,而在某些情况下,我们需要对数据库进行加密以保护数据安全性。 为了实现SQLite数据库加密功能,可以借助一些第三方工具,如SQLCipher。SQLCipher是一款专门为SQLite数据库提供加密功能的开源软件,它基于SQLite的代码库进行了修改和扩展,使得SQLite数据库可以支持AES加密算法和SHA-256哈希算法,从而提供了强大的安全性。 使用SQLCipher加密SQLite数据库的过程包括以下几个步骤: 1. 下载并安装SQLCipher库文件。 2. 在应用程序中将原始SQLite库替换为SQLCipher库。 3. 生成一个加密密码,并将其与SQLite数据库关联。 4. 在访问SQLite数据库之前,使用密码对数据库进行解密。 5. 对数据库进行操作后,将其重新加密。 通过使用SQLCipher,我们可以为SQLite数据库提供强大的加密功能,确保数据在存储和传输过程中的安全性。同时,解密工具也可以用来解密加密SQLite数据库,以便进行数据的读取和操作。 总之,SQLite数据库加密解密工具是用于对SQLite数据库进行加密解密操作的软件工具,可以通过使用第三方库如SQLCipher来实现数据库加密保护,提供数据的安全性和保密性。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Liu-Eleven

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

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

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

打赏作者

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

抵扣说明:

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

余额充值