内容摘要:这篇文章专门介绍如何扩展当前正越来越流行SQLite的数据库的加密部分,。
这篇文章专门介绍如何扩展当前正越来越流行SQLite的数据库的加密部分, SQLite是"一个无须任何配置部署的嵌入式SQL数据库." 下面是本篇文章的目录:
· 背景
· 本扩展模块的技术说明书
· 安装和使用
· 下载
· 警告和版权限制
· 鸣谢
· 相关法律说明
背景
我为什么要写这个扩展? 为了满足我自己的一些疯狂的想法. :) 好了,不开玩笑了. 不久前我想写一个程序用来存储一些私人信息 (我自己的一个项目). 我不想用那些很大的开源数据库,例如MySQL,因为它们确实是太大了,需要占用很大的空间,而且要单独的安装部署. 后来我发现了 SQLite, 它非常的小巧而且运行起来很快,并且它的API函数十分的简单,在我的C++程序当中可以很方便的使用. 就是有一个问题,大概是由于它要保持简单所以它不支持任何的验证和加密. 这令我一点安全感都没有.
因此我开始寻找SQLite的加密解决方案. 我找到了两个,但是它们都是商业软件. SQLite的作者, D. Richard Hipp先生提供了一个可以对数据库文件进行完全加密SQLite的加强版本. 也就是那个叫做SQLcrypt(tm)的商业软件, 它实现了数据存储层的透明加密. 不幸的是它们对于我们这些普通人来说都太贵了, 尤其是对于我这种非商业目的只是想用SQLite开发一些小应用自己玩的人来说更是如此. 然而我却是非常的需要对数据库进行加密- 在数据库层对整个数据库文件进行透明的加密. 所有的开发者和用户只需要在打开数据库的时候提供密码就可以了. 然后接下来的事情就全都交给数据库去做了. 这种方式将比那种在数据和字段上的加密要容易的多,也方便的多, 不然需要加密的字段就都要设计成BLOB或者string类型了.
来源:豆豆网转载 责编:豆豆技术应用