sqlite3.7.16.2 支持加密编译

来源:互联网 发布:山西农大软件学院 编辑:程序博客网 时间:2024/06/01 08:14

1.源码: http://www.sqlite.org/download.html

1.1 Source Code

    sqlite-amalgamation-3071602.zip 获取

    sqlite3.h

    sqlite3.c

1.2 Precompiled Binaries forWindows

  sqlite-dll-win32-x86-3071602.zip 获取

    sqlite3.def

   修改该文件,增加两个函数的导出sqlite3_keysqlite3_rekey

2. 加密源码:

http://sourceforge.net/projects/wxcode/files/Components/wxSQLite3/

2.1 wxsqlite3-3.0.3.tar.gz 解压后目录获取

    wxsqlite3-3.0.3\sqlite3\secure\src

    codec.c

    codec.h

    codecext.c

    extensionfunctions.c

    rijndael.c

    rijndael.h

    sha2.c

    sha2.h

    sqlite3secure.c

3.创建工程

3.1建立win32 dll空工程

3.2以上文件放在工程下的目录src下

3.3导入sqlite3secure.c,去掉预编译头文件

3.4设置def文件.\src\sqlite3.def

3.5增加预编译宏

    SQLITE_HAS_CODEC = 1

    CODEC_TYPE = CODEC_TYPE_AES128

    SQLITE_CORE

    THREADSAFE

    SQLITE_SECURE_DELETE

    SQLITE_SOUNDEX

    SQLITE_ENABLE_COLUMN_METADATA

    如果想启用R*Tree Module功能,增加宏

    SQLITE_ENABLE_RTREE 

    SQLITE_ENABLE_COLUMN_METADATA

3.6编译,ok