上一页 1 ··· 8 9 10 11 12 13 14 15 16 ··· 25 下一页

SQLite 3.7.13的加密解密(二)—— 开放宏定义

摘要: 首先要在sqlite3.c中最前面,添加代码(网上有说在sqlite3.h中添加也可,实际测试在sqlite3.h中打开该宏是无效的):#ifndefSQLITE_HAS_CODEC#defineSQLITE_HAS_CODEC#endif这个宏是用来确定是否支持加密的。添加上述代码后编译,会出现如下错误:D:\Research\MySQLite\Debug/../src/sqlite3.c:80963: undefined reference to `sqlite3CodecAttach'D:\Research\MySQLite\Debug/../src/sqlite3.c:8096 阅读全文
posted @ 2012-10-30 14:05 几百人有爱 阅读(421) 评论(0) 推荐(0) 编辑

SQLite 3.7.13的加密解密(一)—— 前言

摘要: SQLite数据库支持加密和解密,但是免费版没有这个功能,不过网上已经有相关的资料,不过这些资料都不是基于SQLite 3.7.13版本的,这里根据网上找到的最全的资料进行整理,实现了SQLite 3.7.13版数据库的加密解密。本系列文章对此进行了详细说明。开发环境:操作系统Win 7IDEEclipse Juno (4.2) CDT编译器MinGW GCC 4.6.2SQLite3.7.13本文出自 “rainman” 博客,请务必保留此出处http://lancelot.blog.51cto.com/393579/940805来源:http://lancelot.blog.51cto.c 阅读全文
posted @ 2012-10-30 14:04 几百人有爱 阅读(253) 评论(0) 推荐(0) 编辑

Sqlite xxteacrypt.c代码

摘要: http://bbs.2ccc.com/topic.asp?topicid=337891今天刚好改风铃兄的sqlite,随便说说,不对的请大家指正.sqlite3PagerSetCodec变化非常大staticvoidsqlite3PagerSetCodec(Pager*pPager,void*(*xCodec)(void*,void*,Pgno,int),void(*xCodecSizeChng)(void*,int,int),//新加的void(*xCodecFree)(void*),//新加的void*pCodec//对应原来的pCodecArgxCodecSizeChng更改page大 阅读全文
posted @ 2012-10-30 10:55 几百人有爱 阅读(303) 评论(0) 推荐(0) 编辑

SQLITE3 使用总结

摘要: http://www.sqlite.com.cn/MySqlite/6/407.Html前序:一、版本二、基本编译三、SQLITE操作入门(1)基本流程(2)SQL语句操作(3)操作二进制(4)事务处理四、给数据库加密五、后记前序:Sqlite3的确很好用。小巧、速度快。但是因为非微软的产品,帮助文档总觉得不够。这些天再次研究它,又有一些收获,这里把我对sqlite3的研究列出来,以备忘记。这里要注明,我是一个跨平台专注者,并不喜欢只用windows平台。我以前的工作就是为unix平台写代码。下面我所写的东西,虽然没有验证,但是我已尽量不使用任何windows的东西,只使用标准C或标准C++。 阅读全文
posted @ 2012-10-30 09:52 几百人有爱 阅读(289) 评论(0) 推荐(0) 编辑

董淳光之SQLITE3 使用总结(3)

摘要: http://www.sqlite.com.cn/MySqlite/6/409.Html4.事务处理sqlite是支持事务处理的。如果你知道你要同步删除很多数据,不仿把它们做成一个统一的事务。通常一次sqlite3_exec就是一次事务,如果你要删除1万条数据,sqlite就做了1万次:开始新事务->删除一条数据->提交事务->开始新事务->…的过程。这个操作是很慢的。因为时间都花在了开始事务、提交事务上。你可以把这些同类操作做成一个事务,这样如果操作错误,还能够回滚事务。事务的操作没有特别的接口函数,它就是一个普通的sql语句而已:分别如下:int result;re 阅读全文
posted @ 2012-10-30 09:46 几百人有爱 阅读(225) 评论(0) 推荐(0) 编辑

董淳光之SQLITE3 使用总结(4)

摘要: http://www.sqlite.com.cn/MySqlite/6/410.Html/***下面是编译时提示缺少的函数***//**这个函数不需要做任何处理,获取密钥的部分在下面DeriveKey函数里实现**/voidsqlite3CodecGetKey(sqlite3* db,intnDB,void** Key,int* nKey){return;}/*被sqlite和sqlite3_key_interop调用,附加密钥到数据库.*/intsqlite3CodecAttach(sqlite3 *db,intnDb,constvoid*pKey,intnKeyLen);/**这个函数好像 阅读全文
posted @ 2012-10-30 09:41 几百人有爱 阅读(276) 评论(0) 推荐(0) 编辑

董淳光之SQLITE3 使用总结(5)

摘要: http://www.sqlite.com.cn/MySqlite/6/411.Htmlintsqlite3_key(sqlite3 *db,constvoid*pKey,intnKey){returnsqlite3_key_interop(db, pKey, nKey);}intsqlite3_rekey(sqlite3 *db,constvoid*pKey,intnKey){returnsqlite3_rekey_interop(db, pKey, nKey);}/*被sqlite和sqlite3_key_interop调用,附加密钥到数据库.*/intsqlite3CodecAttach 阅读全文
posted @ 2012-10-29 18:03 几百人有爱 阅读(302) 评论(0) 推荐(0) 编辑

Windows下使用nmake编译C/C++的makefile

摘要: 现在大多时候在Linux上做服务器端开发,使用VC的机会少了很多。VC编程时习惯上会间个小工程去测试一些小段代码,确保正确后在移植到真正的工程上去。自觉这是个好习惯,决定继续沿用。公司开发环境不提供VC,自己也懒得动用复杂的IDE,想想还是启用nmake。研究了一番nmake的makefile规则,编写了了一个通用makefile。用下来还相当好用。存个档,作个分享交流。#宏定义EXE= test.exe#指定输出文件名OBJS= main.obj #需要的目标文件;个人习惯把测试代码写在main.cpp,所以这里相应的OBJ文件是main.objRES=#需要的资源文件,如 test.res 阅读全文
posted @ 2012-10-29 14:37 几百人有爱 阅读(306) 评论(0) 推荐(0) 编辑

编译静态库和动态库的Makefile文件

摘要: 写了一个编译静态库和动态库的Makefile文件,修改Makefile中STATIC的值可以编译静态库或动态库。完整的程序和Makefile文件在这里。MakefileSTATIC=0LIBPATH=libCFLAGS=-WallLDFLAGS=-I$(LIBPATH) -L$(LIBPATH) -lfuncifeq ($(STATIC), 1)LIB=$(LIBPATH)/libfunc.aelseLIB=$(LIBPATH)/libfunc.soCFLAGS+=-fPICendifTARGET=mainSRC=main.cLIBSRC=libinc.c libdec.cLIBOBJ=$(a 阅读全文
posted @ 2012-10-29 13:44 几百人有爱 阅读(426) 评论(0) 推荐(0) 编辑

为跨平台数据库引擎 SQLite 实现加密扩展《转》

摘要: SQLite 简介SQLite是非常优秀的跨平台数据库引擎。与最常见的需要服务进程的数据库引擎(如MySQL)不同,SQLite 引擎不是独立的进程,而是与主程序编译在一起、并运行在同一个进程空间中的代码。数据的存取则是通过程序内直接调用其API实现的,整个数据库都在宿主主机上存储在一个单一的文件中。这些使得 SQLite 在读写效率、消耗总量、延迟时间和整体简单性上具有很大的优越性。最为重要的的是,整个 SQLite 引擎是一个相对小规模的轻量级 C 语言库。理论上说,任何平台,只要有 C 语言编译器,SQLite 就能够移植到该平台上。又由于其轻量性,SQLite 成为了处理器性能、内存容 阅读全文
posted @ 2012-10-29 10:35 几百人有爱 阅读(371) 评论(0) 推荐(0) 编辑
上一页 1 ··· 8 9 10 11 12 13 14 15 16 ··· 25 下一页