繁体   English   中英

重置密码算法

[英]Reset passcode algorithm

对于那些忘记了我正在编写的iPhone应用程序的密码(基本上是4位密码)的用户,我想实现某种密码重置功能,但我不想让任何用户只能简单地禁用它。 我正在考虑进行某种验证,并想知道这种事情的最佳实践是什么。

我正在计划这样的事情:

  1. 用户联系我说他们忘记了密码
  2. 我通过电子邮件发送一个代码或一系列代码进入密码屏幕
  3. 应用程序根据某种秘密算法生成一个数字,用户将其发送给我
  4. 我发送了他们输入的另一个代码(由匹配算法生成)来删除密码

我想这将使我只允许用户重置密码,只有他们与我联系并且我已验证他们是谁。 这还应该阻止用户使用此代码来解锁具有相同应用程序的另一部手机。

这看起来是个好主意吗? 是否有任何合适的哈希算法/库来生成这种两步验证码(最好是目标C)? 这种事情有没有更好的方法?

任何帮助或建议将不胜感激。

您应该能够使用散列和RSA的组合来解决此问题。

假设您有一个私钥(K1),公钥(K2)随应用程序一起分发。

步骤2:使用私钥K1发送随机码C和C的加密。 应用程序解密加密并检查它是否与用户输入的代码C匹配

第3步:应用程序创建一个随机的4位数代码(新密码P),用公钥加密并发送给您(或者可能将其发送给发送给您的用户)

步骤4:使用私钥解密新密码并将其发送给用户

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM