记录用wxsqlite实现sqlite加密。git
1.编译生成wxsqlite的lib库sql
参考的网上一些博客资料建的工程,没作记录,忘了是那个博客的了。具体见工程源码 缓存
2.测试性能
测试代码:测试
#include "stdafx.h" #include "sqlite3.h" #pragma comment(lib,"wxsqlite3.lib") int _tmain(int argc, _TCHAR* argv[]) { int result=0; sqlite3 *db=NULL; result=sqlite3_open("test.db",&db); result=sqlite3_key(db,"abcd",4); //使用密码,第一次为设置密码 //result=sqlite3_rekey(db,NULL,0); //清空密码 result=sqlite3_exec(db,"PRAGMA synchronous = OFF",0,0,0); //提升性能 result=sqlite3_exec(db,"PRAGMA cache_size = 8000",0,0,0); //加大缓存 result=sqlite3_exec(db,"PRAGMA count_changes = 1",0,0,0); //返回改变记录数 result=sqlite3_exec(db,"PRAGMA case_sensitive_like = 1",0,0,0); //支持中文LIKE查询 result=sqlite3_exec(db,"CREATE TABLE [MyTable] ([ID] INTEGER PRIMARY KEY NOT NULL,[MyText] TEXT NULL)",0,0,0); return 0; }
测试加密状况:加密
Navicat直接链接:spa
输入错误密码:code
密码是4位的 abcd,我只输入了一位,链接错误。sqlite
输入正确密码:blog
工程源码:https://gitee.com/betterwgo/wxsqlite3_demo
注意wxsqlite.lib的位置