Sqlite库学习(2)编译加密版的sqlite

 

1、wxSqlite介绍

我们在使用mysql等其他数据库时需要输入用户名和密码,但是sqlite数据库就是一个文件,使用navicat、sqlitebrowser等软件就可以直接打开数据库查看,没有一点保护措施。如果在开发中,我们不希望别人知道数据库里面的内容,那么就需要加密版的sqlite库,也就是wxsqlite。

实际上wxsqlite不仅包含加密功能,还包含字符转换和用户授权等功能。

2、wxSqlite编译成动态库

这里用Qt Creator穿件工程,编译得到wxsqlite动态库。

(1)下载地址

https://download.csdn.net/download/no2101/12415973

(2)pro文件添加头文件和源文件

SOURCES += \

    sqlite3secure.c



HEADERS += \

    sqlite3ext.h \

    sqlite3userauth.h

不要添加其他文件了,否则编译有问题。

(3)windows平台下添加模定义文件

win32{

    DEF_FILE = sqlite3.def

}

(4)添加定义

DEFINES  += SQLITE3_EXPORTS SQLITE_HAS_CODEC

DEFINES  += CODEC_TYPE=CODEC_TYPE_AES128 SQLITE_CORE

//这就是加密算法

// #define CODEC_TYPE_AES128    1
//#define CODEC_TYPE_AES256    2

//#define CODEC_TYPE_CHACHA20  3

//#define CODEC_TYPE_SQLCIPHER 4

//#define CODEC_TYPE_MAX       4



DEFINES  += SQLITE_SECURE_DELETE SQLITE_ENABLE_COLUMN_METADATA SQLITE_ENABLE_RTREE SQLITE_USER_AUTHENTICATION

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章