如何在iPhone应用程序中实现密码恢复



我想在我正在开发的iPhone应用程序中添加简单的密码保护。我可能会使用crypt()将密码存储在我的数据库中,该数据库采用CoreData/sqlite格式。

我想我对如何创建和存储密码有很好的理解,但如果用户忘记了他们的密码,我想添加一个密码恢复功能

这是我在iOS中遇到的困难。我希望所有东西都是本地的,所以我想不出用链接重置密码的方法。

我曾想过用电子邮件发送密码,但在iOS中,如果拿着设备的人看不到电子邮件的内容,就无法发送电子邮件。

我能想到的唯一方法是有一到两个"备份密码",这基本上是用户选择问题的答案(甚至可能只是在密码的同时存储一个提醒问题)。

这两种都没有那么安全,尽管我的应用程序中受保护的数据并没有那么关键,所以我不想寻找最强大的解决方案(只是一个不错的解决方案,它不太难实现,对用户来说不太不便,对黑客来说也不太难破解)。

非常感谢您的建议。

谢谢,Ron

您可以使用他们最初创建帐户时设置的条件(如母亲娘家姓、姓氏4等)提示重置密码,而不用恢复密码。这样,您就不必担心解密密码或将其发送给用户。一旦他们正确回答了足够多的安全问题,系统就会提示他们重置密码。您可以在本地加密存储这些数据。您永远不需要向用户发送密码。

最简单的方法可能是将"密码保护"设置为可选并显示警告("如果您忘记了密码,您的数据可能无法恢复!")。

它不会那么安全:数据可能会在手机备份中显示为未加密,除非你自己加密。结果是,坚定的用户可以向你寻求帮助,你可以为他们编写一个工具,挖掘未加密的备份并重置密码。

避免使用内置的crypt(),它可能是基于DES的,并且限制为8个ASCII字符。将明文密码存储在钥匙链中并不是一个太糟糕的选择。

相关内容

  • 没有找到相关文章

最新更新