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