技术文章分类(180)

技术随笔(11)

GSkeychain使用(ios存储加密信息)

demo:https://github.com/MartinLi841538513/GSKeychainDemo

iOS的keychain服务提供了一种安全的保存私密信息(密码,序列号,证书等)的方式,每个ios程序都有一个独立的keychain存储。相对于NSUserDefaults、文件保存等一般方式,keychain保存更为安全,而且keychain里保存的信息不会因App被删除而丢失,所以在重装App后,keychain里的数据还能使用。

上面的demo主要就是对比keychain和NSUserDefaults。

NSUserDefaults在app卸载后,存储的数据也自动被删除了。

keychain在app卸载后,仍然保留存储的数据。

其用处个人认为:

1,可以用来记录用户的操作行为,记录用户是否第一次下载该app。

2,另外存私密信息。

3,在我的开发经验中,userDefaults经常在app crash了以后,会丢失部分或者全部数据。所以,我认为有些重要信息可以存在keychian中。

使用操作:

1,导入Security.framework,GSKeychain库(pod 'GSKeychain', '~> 1.0'

2,#import "GSKeychain.h",如下:   

[[GSKeychain systemKeychain] setSecret:@"firstInstall" forKey:@"GSKeychainDemoInstalled"];
[[GSKeychain systemKeychain] secretForKey:@"GSKeychainDemoInstalled"]

 

posted @ 2014-08-24 18:43  坤哥MartinLi  阅读(309)  评论(0编辑  收藏  举报