sqlitesqlite加密

记录用wxsqlite实现sqlite加密。

 

1.编译生成wxsqlite的lib库

参考的网上一些博客资料建的工程,没做笔录,忘了是相当博客的了。现实见工程源码 

 

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直接连接:

sqlite 1

输入错误密码:

sqlite 2

密码是4位的  abcd,我只输入了一位,连接错误。

 

输入正确密码:

sqlite 3

sqlite 4

 

 

工程源码:https://gitee.com/betterwgo/wxsqlite3_demo

注意wxsqlite.lib的位置

网站地图xml地图