开发者

Core Data Encryption?

开发者 https://www.devze.com 2023-04-11 21:24 出处:网络
I have entities Account and CreditCard in Core Data. An account can have multiple creditCards. Each creditCard has an number. How do I encrypt the number?

I have entities Account and CreditCard in Core Data. An account can have multiple creditCards. Each creditCard has an number. How do I encrypt the number?

I know I could use Keychain Services without Core Data, but could 开发者_StackOverflow中文版I use them together? The reason I want to use Core Data instead of something like NSUserDefaults is because I want to handle multiple accounts. I haven't used Keychain Services, so I'm not sure if it'd be good for multiple accounts.


You can store your keychain object in Core Data by transforming it into an NSData object. This is not all that trivial, as you need to transform it back and forth correctly. Check out these documentation documents about Non-Standard Persistent Attributes to help you.


You can change the attributes that you want to encrypt to type Transformable, and create your own NSValueTransformer that encrypts when transformedValue is called and decrypts when reverseTransformedValue is called.

Transformable attributes: https://developer.apple.com/library/prerelease/ios/samplecode/PhotoLocations/Introduction/Intro.html

Example of decrypt/encrypt AES256: https://gist.github.com/m1entus/f70d4d1465b90d9ee024

0

精彩评论

暂无评论...
验证码 换一张
取 消