2013-05-19 53 views
7

Apple的GenericKeychain示例将用户名和密码保存在iOS钥匙串中。它使用kSecAttrAccount作为用户名,使用kSecValueData作为密码。是否在iOS钥匙串中加密帐户名称(kSecAttrAccount)?

所有的数据项都放在钥匙串中加密了,所以在这个例子中包括kSecAttrAccount/username?

我在问,因为我不想公开帐户名称。

+0

你看过应用程序文档文件夹吗? – Undo

+0

是的,我看过@Undo,但它不是很清楚。我不想用钥匙扣之类的东西来猜测。 –

+0

您是否找到了答案? – makaron

回答

5

如果您使用kSecAttr作为用户名,它将被加密。

与钥匙扣项目相关联的属性取决于项目的类别;应用程序最常使用的项目类别是Internet密码和通用密码。正如您所预料的那样,Internet密码包含诸如安全域,协议类型和路径之类的属性。存储为钥匙串项目的密码或其他秘密是加密的。

(见"Structure of a Keychain"

当您使用kSecAttrAccount,它只能与类kSecClassInternetPasswordkSecClassGenericPassword(见Keychain Services Reference @ kSecAttrAccount)使用,帐户名称将被加密。

相关问题