iOS使用SQLCipher加密数据库

Xcode中集成了免费的sqlite,但是不提供加密的模块,突然有一天,蛋疼的客户要求把数据进行加密,于是乎就寻找使用简单并且可以把数据迁移过度到加密数据库的框架。 SQLCipher是第三方的开源框架,实现对sqlite的加密, [官网链接]sqlcipher.net。 下面开始下载并导入框架。 (使用命令行下载) ##使用SQLCipher需要3个文件:sqlcipher,openssl-xcode,openssl-1.0.0e

下载 openssl-xcode

cd~/Documents/code/SQLCipherApp git clone https://github.com/sqlcipher/openssl-xcode.git

下载 sqlcipher

cd~/Documents/code/SQLCipherApp git clone https://github.com/sqlcipher/sqlcipher.git

下载 openssl-1.0.0e

curl -o openssl-1.0.0e.tar.gz http://www.openssl.org/source/openssl-1.0.0e.tar.gz // 解压 tar xzf openssl-1.0.0e.tar.gz

把这三个目录拷贝到工程目录中

##配置Xcode  1、打开Xcode 的设置页,进入locations ->source trees  ,点击+号添加项目 ,settingname 和 display name 均设为  “OPENSSL_SRC”  path设置为你工程目录下openssl-1.0.0e的所在路径。比如我的路径是:/Users/henry/Documents/工程公用/SQLCipherApp/openssl-1.0.0e

2、添加项目的引用 ,将文件里的openssl.xcodeproj 和sqlcipher.xcodeproj (分别在openssl-xcode文件和sqlcipher文件下)添加到你的主工程下,建立引用 3、配置编译库,进入项目的工程TARGETS,进入build phases ->target dependencies,添加图中的两个项目

如果在编译时提示:No architectures to compile for (ARCHS=armv6,armv7, VALID_ARCHS=armv7 armv7s则将在Bulid Settings选项下面的Architectures和Valid Architectures里面都改成一样(例如:都填写 armv6 armv7),问题解决。 对于警告 :warning: implicit declaration of function 'sqlite3_key' is invalid in C99 只需要将Bulid Settings选项下的C Language Dialect 改为:C89[-std-c89] 就可以,即使用c89标准或者去掉项目中的arm64。

[部分代码]http://www.cnblogs.com/jw-blog/p/4962613.html

转载于:https://juejin.im/post/5a93c938f265da4e865a93d5

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值