我的可可应用程序将具有以下功能: 1.密码保护登录。用户将不得不输入密码才能使用应用程序 2.登录后,用户可以创建一些个人配置文件,该配置文件可以存储一些安全信息,如密码。SSKeyChain:如何锁定这个钥匙串?
经过一番研究,我被告知我应该使用KeyChain来保存安全信息(所以在我的情况下,登录密码和每个个人配置文件中的安全信息)。
似乎有一个很好的KeyChain包装,SSKeyChain,可以用来实现我的目标(因为我不太熟悉c朗,所以使用苹果的钥匙串对我来说很难),我也发现了一些使用SSKeyChain iOS: How to store username/password within an app?样本:
To save a password:
[SSKeychain setPassword:@"AnyPassword" forService:@"AnyService" account:@"AnyUser"]
To retrieve a password:
NSString *password = [SSKeychain passwordForService:@"AnyService" account:@"AnyUser"];
但是我不知道我是否需要“保护”我的钥匙串: 1.打电话时setPassword:forService:账号:我应该包括明文密码?或者我需要先加密我的密码?也设置服务名称时,我应该只是简单地包含我的应用程序名称 2.如果密码可以通过使用passwordForService检索:容易,那么它似乎不安全?因为其他应用程序也可以调用相同的方法来检索钥匙串? (前提是他们知道的服务名称和账号)
和好像你有“锁定”和“解锁”这个钥匙串。我检查了SSKeyChain doc http://docs.samsoff.es/SSKeychain/Classes/SSKeychain.html,但找不到任何方法来“锁定”和“解锁”这样的钥匙串。那么我该如何保护它呢?
谢谢,我已经加入SSKeyChain到我的项目和工作正常。但是,我的问题来了。使用KeyChain或SSKeyChain似乎不是保护应用程序的好方法,因为钥匙串可以轻松地从钥匙串访问中删除。如果它被删除,那么密码将不再适用。 – Josh 2013-05-07 20:03:34
@Josh“保护应用程序”是什么意思?钥匙串是一个安全的地方,您可以存储您的应用程序所需的数据。 – 2013-05-07 20:06:24
嗨,正如我所说我的应用程序将实现密码保护功能,这意味着用户将首先必须输入密码才能使用该应用程序(这个想法非常类似于您的iphone的密码,如果你没有进入正确的代码/密码,你将无法使用该应用程序)。所以正如我所说,仅仅为了这个目的而使用钥匙串并不是一个好主意。 – Josh 2013-05-07 20:16:28