加密你的SQLite
发布时间:2020-12-12 23:46:15 所属栏目:百科 来源:网络整理
导读:加密你的SQLite 发布于:2014-05-22 13:39 阅读数:9220 关于SQLite SQLite是一个轻量的、跨平台的、开源的数据库引擎,它的在读写效率、消耗总量、延迟时间和整体简单性上具有的优越性,使其成为移动平台数据库的最佳解决方案(如iOS、Android)。 “ ” 阅
加密你的SQLite发布于:2014-05-22 13:39阅读数:9220 关于SQLite SQLite是一个轻量的、跨平台的、开源的数据库引擎,它的在读写效率、消耗总量、延迟时间和整体简单性上具有的优越性,使其成为移动平台数据库的最佳解决方案(如iOS、Android)。 “ ” 阅读器SQLite 转自王中周的个人博客
关于SQLite SQLite是一个轻量的、跨平台的、开源的数据库引擎,它的在读写效率、消耗总量、延迟时间和整体简单性上具有的优越性,使其成为移动平台数据库的最佳解决方案(如iOS、Android)。 然而免费版的SQLite有一个致命缺点:不支持加密。这就导致存储在SQLite中的数据可以被任何人用任何文本编辑器查看到。比如国内某团购iOS客户端的DB缓存数据就一览无余: SQLite加密方式 对数据库加密的思路有两种: 1. 将内容加密后再写入数据库 这种方式使用简单,在入库/出库只需要将字段做对应的加解密操作即可,一定程度上解决了将数据赤裸裸暴露的问题。 不过这种方式并不是彻底的加密,因为数据库的表结构等信息还是能被查看到。另外写入数据库的内容加密后,搜索也是个问题。 2. 对数据库文件加密 将整个数据库整个文件加密,这种方式基本上能解决数据库的信息安全问题。目前已有的SQLite加密基本都是通过这种方式实现的。 SQLite加密工具 目前网上查询到iOS平台可用的SQLite加密工具有以下几种: SQLite Encryption Extension (SEE) 事实上SQLite有加解密接口,只是免费版本没有实现而已。而SQLite Encryption Extension (SEE)是SQLite的加密版本,提供以下加密方式:SQLite Encryption Extension (SEE)版本是收费的。 SQLiteEncrypt 使用AES加密,其原理是实现了开源免费版SQLite没有实现的加密相关接口。 SQLiteEncrypt是收费的。 SQLiteCrypt 使用256-bit AES加密,其原理和 SQLiteEncrypt一样,都是实现了SQLite的加密相关接口。 SQLiteCrypt也是收费的。 SQLCipher 首先需要说明的是,SQLCipher是完全开源的,代码托管在 Github上。 SQLCipher使用256-bit AES加密,由于其基于免费版的SQLite,主要的加密接口和SQLite是相同的,但也增加了一些自己的接口,详情见 这里。 SQLCipher分为收费版本和免费版本,官网介绍的区别为: |