sqlite3对数据库加密用c语言开源项目wxSQLite3实现

前端之家收集整理的这篇文章主要介绍了sqlite3对数据库加密用c语言开源项目wxSQLite3实现前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

今天对逍遥来说是个特别的日子,有两件喜事:1、正式本科毕业啊,即将开始新的人生冒险。2、完成了对sqlite3用C语言实现的加密与读取。对数据库加密的必要性,在此就不必多说啦。仅对我在实现加密的过程中,遇到的问题及解决方法进行记录,便于自己复习,也方便他人。在此感谢CSDN上的朋友:abc19abc91,您共享的资料,给了我很大的帮助。

昨天突然想对自己的sqlite3的数据库加密处理,在网上找了很多相关参考资料,sqlite 3开源版不带加密功能,因此,需要借助另一个sqlite3加强的开源项目wxsqlite3。好了,让我们开始实现对数据库的加密吧。

1到http://wxcode.sourceforge.net/components/wxsqlite3下载wxsqlite3,逍遥当前下载的版本为:wxsqlite3-3.1.0,其目录中.\sqlite3\secure\src下是实现加密所需的源代码

2新建一个“WIN32控制台应用程序”工程,逍遥用的是vs2008创建。项目名称sqlite3,不勾选“预编译头”选项。点击“完成”。此时,项目中,应该是没有任何文件的。

3将加密文件数据库文件(.\sqlite3\secure\src)拷到sqlite3工程目录下, codec.c,codec.h,codecext.c,extensionfunctions.c,rijndael.c,rijndael.h,sha2.c,sha2.h,sqlite3.c,sqlite3.def,sqlite3.h,sqlite3ext.h,sqlite3secure.c。

4sqlite3工程中加入已经存在的文件,将文件sqlite3.def sqlite3secure.c加入到源文件中,请不要将其他文件加入到列表中,否则编译不过。

5在sqlite3工程属性中,加入模块定义文件sqlite3.def。

6在工程属性中,加入预定义宏sqlITE_ENABLE_RTREE,sqlITE_ENABLE_COLUMN_MetaDATA,sqlITE_HAS_CODEC=1,sqlITE3ENCRYPT_EXPORTS,sqlITE_ENABLE_FTS3,sqlITE_ENABLE_FTS3_PARENTHESIS,sqlITE_SECURE_DELETE,sqlITE_SOUNDEX,CODEC_TYPE=CODEC_TYPE_AES128。

7改变项目属性,其配置类型为动态库(.dll);

8直接编译,就可以在目标目录生成sqlite3.dll,sqlite3.lib文件

9将其sqlite3.h,sqlite3.dll,sqlite3.lib引入到要使用的项目上即可。成功,其加密方法在此就不在对sqlite3_key,sqlite3_rekey做详细介绍了。大神们已经写了很多啦。

希望对用sqlite3加密的朋友有所帮助,有不足的地方请在评论处留言,一起进步吧

猜你在找的Sqlite相关文章