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

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

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

今天对逍遥来说是个特别的日子,有两件喜事: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加密的朋友有所帮助,有不足的地方请在评论处留言,一起进步吧

总结

以上是内存溢出为你收集整理的sqlite3对数据库加密用c语言开源项目wxSQLite3实现全部内容,希望文章能够帮你解决sqlite3对数据库加密用c语言开源项目wxSQLite3实现所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1172161.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-02
下一篇 2022-06-02

发表评论

登录后才能评论

评论列表(0条)

保存