SecKeychainAddGenericPassword中serviceName和accountName的功能区别

Functional difference between serviceName and accountName in SecKeychainAddGenericPassword

我即将使用 SecKeychainAddGenericPassword 在我的 ios-app 中存储一堆受保护的信息,而我所需要的只是一个 'safe' 键值存储。 'safe',我的意思是信息不应该被轻易篡改。我被困在此处需要的两个不同字段,即 accountNameserviceName.

根据 https://developer.apple.com/reference/security/1398366-seckeychainaddgenericpassword 的文档,我无法确定这两个字符串之间是否存在任何功能差异。该应用程序应该供单个用户使用,并且应该可以通过该应用程序访问信息。我应该在 accountNameserviceName 中输入什么?如果我交换两者会有什么改变吗?

注意:我理解两者之间的概念差异,但是如果我没有用户名,我应该如何(可以)拆分我的 'key' 来填写 accountNameserviceName.

这些只是字段标签。对于您所描述的用途,与您如何使用它们无关。你只需要知道你做了什么,这样你就可以搜索数据了。甚至没有要求您同时使用两者。

请注意,唯一加密的是 "data"(本例中的密码)。您在这些字段中输入的任何内容都是可以搜索的元数据。我经常把账号和密码放在一起作为数据存起来,这样它们都被加密了。然后我只有一个硬编码的 "service" 用来查找记录。如果您有多个帐户,则在帐户字段中存储数据最有用。