首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将密码保存到本地设备

将密码保存到本地设备
EN

Software Engineering用户
提问于 2012-07-21 19:58:47
回答 3查看 643关注 0票数 3

因此,在我的应用程序(iOS)中,您必须注册才能使用该服务(一种食品服务)。但是,为了更改帐户的详细信息(用户名、密码和电子邮件),您必须重新输入您的密码。除了用户注销,这是您唯一一次需要您的密码使用应用程序。所以我想知道,因为用户基本上从不使用他们的密码,而且他们很可能会在一次需要密码的时候忘记密码,如果我将他们的密码存储到他们的本地设备上(在NSUserDefaults中),可以吗?

因为他们的密码只在他们的本地设备上,这看起来不像是一个安全风险。如果这个应用程序被黑了,他们唯一能得到的密码就是他们自己的密码。

此外,我还计划将其存储为一个字符串(没有加密)。如果在将密码保存到缺省值之前对其进行散列或加密,会有什么区别吗?

提前谢谢。

EN

回答 3

Software Engineering用户

回答已采纳

发布于 2012-08-07 11:00:13

使用KeyChain存储密码。我学习了如何使用此链接来完成这个任务,KeyChainItemWrapper类可以找到这里

如果您使用KeyChain,我认为您不需要对此加密。此外,不建议使用NSUserDefaults来存储密码。

票数 2
EN

Software Engineering用户

发布于 2012-07-21 21:05:32

用户倾向于坚持使用1到2个密码。如果该应用程序被另一个应用程序入侵,那么从您的服务中获得用户的密码可能会允许您访问除您的食品服务之外的其他更敏感的资源。更好的方法可能是在电话上存储某种长期身份验证令牌,而不是密码本身。该令牌可以绑定到服务器上的用户帐户信息,从而允许用户在保持其密码安全的同时只输入一次密码。

票数 10
EN

Software Engineering用户

发布于 2012-07-22 00:06:19

根据具体情况,您可以使用密钥链

使用密钥链有一些优点,比如UICKeyChainStoreSTKeychain使其实现起来非常简单。

需要注意的特点有:

  • 如果您选择把它做好,您的其他应用程序可以访问相同的信息。
  • 在应用程序被删除后,信息仍然存在,所以它可以被其他应用程序使用,或者如果用户重新安装的话。
票数 2
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/157703

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档