我在核心数据中有实体Account
和CreditCard
。一个account
可以有多个creditCards
。每个creditCard
有一个number
。我如何加密number
?核心数据加密?
我知道我可以在没有核心数据的情况下使用钥匙串服务,但我可以一起使用它们吗?我想使用核心数据而不是像NSUserDefaults
这样的原因是因为我想处理多个帐户。我没有使用钥匙串服务,所以我不确定它是否适合多个账户。
我在核心数据中有实体Account
和CreditCard
。一个account
可以有多个creditCards
。每个creditCard
有一个number
。我如何加密number
?核心数据加密?
我知道我可以在没有核心数据的情况下使用钥匙串服务,但我可以一起使用它们吗?我想使用核心数据而不是像NSUserDefaults
这样的原因是因为我想处理多个帐户。我没有使用钥匙串服务,所以我不确定它是否适合多个账户。
通过将Keychain对象转换为NSData
对象,可以将Keychain对象存储在Core Data中。这并不是那么微不足道,因为你需要正确地来回转换它。查看有关非标准持久属性的documentation documents以帮助您。
您可以更改要加密的属性以键入Transformable,并创建您自己的NSValueTransformer,该类型在调用transformedValue时进行加密,并在调用reverseTransformedValue时进行解密。
变形的属性: https://developer.apple.com/library/prerelease/ios/samplecode/PhotoLocations/Introduction/Intro.html
解密/加密AES256的实施例: https://gist.github.com/m1entus/f70d4d1465b90d9ee024