核心数据加密?

时间:2011-10-10 23:36:06

标签: core-data encryption

我在Core Data中有实体AccountCreditCardaccount可以包含多个creditCards。每个creditCard都有一个number。如何加密number

我知道我可以在没有核心数据的情况下使用Keychain服务,但我可以一起使用吗?我想使用Core Data而不是NSUserDefaults之类的原因是因为我想要处理多个帐户。我没有使用钥匙串服务,所以我不确定它对多个帐户是否有用。

2 个答案:

答案 0 :(得分:2)

您可以将Keychain对象转换为NSData对象,从而将其存储在Core Data中。这不是那么简单,因为你需要正确地来回转换它。查看这些documentation documents有关非标准持久性属性的信息,以帮助您。

答案 1 :(得分:1)

您可以更改要加密的属性以键入Transformable,并创建自己的NSValueTransformer,在调用transformedValue时加密,并在调用reverseTransformedValue时解密。

可转换属性: https://developer.apple.com/library/prerelease/ios/samplecode/PhotoLocations/Introduction/Intro.html

解密/加密AES256的示例: https://gist.github.com/m1entus/f70d4d1465b90d9ee024