IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> Qt使用wxsqlite为sqlite加/解密并制作sqlite3shell工具 -> 正文阅读

[大数据]Qt使用wxsqlite为sqlite加/解密并制作sqlite3shell工具

在嵌入式上使用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进行加密

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-03-16 22:27:35  更:2022-03-16 22:32:03 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 6:45:59-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码