核心数据加密类

Posted

技术标签:

【中文标题】核心数据加密类【英文标题】:Core Data Encryption Class 【发布时间】:2013-05-08 22:00:08 【问题描述】:

我正在尝试在我的 xcode 项目中使用这个 wonderful git:

https://github.com/project-imas/encrypted-core-data

创建新的空sqlite db时功能齐全。

但是,如何使用现有的填充常规数据库? 我需要加密我的 sqlite 文件并与 git 提供的类一起使用。

谢谢大家!

【问题讨论】:

一般情况下,SqlCipher(至少 ios 版本)不支持加密现有的“加载”数据库。您需要转储并重新加载数据库——这不是一项非常困难的任务。 @HotLicks 否定答案也是答案,也许将其作为答案发布 - 最好 - 一些数据来支持它?以我缺乏经验的眼光(关于 SQL),我在项目的主页上几乎找不到... 【参考方案1】:

您需要使用 SQLCipher 便利函数sqlcipher_export。特别是,请查看第 1 个示例,了解明文迁移。

【讨论】:

谢谢@Nick!我之前尝试过这个并且成功了。这种方式之后唯一奇怪的是 NSPredicates 故障:Xcode 无法识别查询中的关联字段。我不知道这种类型的导出是否会以这种方式损坏数据库结构。

以上是关于核心数据加密类的主要内容,如果未能解决你的问题,请参考以下文章

在实体框架模型类中实现加密

核心数据数据加密

核心数据 SQLite 加密?

iOS 核心数据加密使用 NSValueTransformer

加密核心数据迁移实体名称不匹配问题

SDK 加密核心数据