cocos2dx+连接mysql_Cocos2dx使用wxsqlite开源加密SQLite3数据库

最近使用wxsqlite加密sqlite3数据库,刚才折腾好几天,在xcode上一直编译不通过,后来在sqlite3.c找到配置,编译顺利通过,太激动了,哈哈,废话少说!总结一直android和ios平台。

wxsqlite3

wxSqlite3作为wxWidgets的扩展组件用C++语法对Sqlite3的API进行了封装,为Sqlite3的使用提供了方便,并顺带实现了加密。wxWidgets是一个著名的C++跨平台UI框架。支持两种加密算法,128位的rijndael算法(默认)和256位的AES算法。下载:http://sourceforge.net/projects/wxcode/files/Components/wxSQLite3/

解压wxSqlite3压缩包,找到sqlite3/secure/src文件夹的文件,并且只需编译sqlite3secure.c文件。

--》启用宏

需要在sqlite3secure.c最上面添加宏,启用加密

#define SQLITE_HAS_CODEC

//启用256位加密,如果不启用,可不加

#define CODEC_TYPE CODEC_TYPE_AES256

在sqlite3.h和sqlite3.c最上面添加

#define SQLITE_HAS_CODEC

Android支持

1.写个Android.mk文件,和上面的所有文件放在external/wxsqlite3目录下

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE := wxsqlite3_static

LOCAL_MODULE_FILENAME := libwxsqlite3

#LOCAL_CFLAGS := #-DSQLITE_HAS_CODEC #-DCODEC_TYPE=CODEC_TYPE_AES128

LOCAL_SRC_FILES := sqlite3secure.c

LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)

LOCAL_C_INCLUDES := $(LOCAL_PATH)

include $(BUILD_STATIC_LIBRARY)

在项目的Android.mk文件中添加支持

LOCAL_WHOLE_STATIC_LIBRARIES += wxsqlite3_static

$(call import-module,external/wxsqlite3)

iOS支持

添加代码目录,找到我们刚才添加的那个文件夹,添加好后,将除sqlite3.h和sqlite3secure.c的所有文件都删除引用

相关api函数接口

SQLite添加了加密解密功能后,使用方法如下:

1、 在调用sqlite3_open()函数打开数据库后,要调用sqlite3_key()函数为数据库设置密码;

2、 如果数据库之前有密码,则调用sqlite3_key()函数设置正确密码才能正常工作;

3、 如果一个数据库之前没有密码,且已经有数据,则不能再为其设置密码;

4、 如果要修改密码,则需要在第一步操作后,调用sqlite3_rekey()函数设置新的密码;

5、 设置了密码的SQLite数据库,无法使用第三方工具打开;

原文:http://www.cnblogs.com/leehongee/p/4094700.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值