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

 

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