【问题标题】:Web service to connecting with an OTP (One Time Password) [closed]用于连接 OTP(一次性密码)的 Web 服务 [关闭]
【发布时间】:2012-01-29 19:55:14
【问题描述】:

如帖子标题中所述,我有一个项目,其中包括设计一个允许用户与 OTP 连接的 Web 服务。我真的在互联网上搜索过,我发现有一个用于发送 SMS(SMSLib)的 Java API,但是关于在服务器端生成 OTP 并通过我必须做的 Web 服务发送它,我没有找到任何事物。 你能帮我看一些关于这个问题的教程吗?

提前致谢

【问题讨论】:

    标签: java web-services sms one-time-password


    【解决方案1】:

    您能否提供一些细节,例如目标编程语言?您希望如何发送 OTP(通过 SMS?)。

    您可以使用亚马逊简单通知服务发送短信:http://aws.amazon.com/sns/

    一般来说,如果可能的话,最好让用户从一开始就选择他们的密码。

    编辑:

    至于生成 OTP,您最好使用随机生成的东西,而不是散列一些东西。你可以试试 UUID 第 4 版。详情请看:http://en.wikipedia.org/wiki/Universally_unique_identifier#Version_4_.28random.29

    PHP 有一个方法 uniqid(),它为您提供保证唯一的字符串,类似于:4b3403665fea6

    我在 SMS 上想到的另一件事,http://cdyne.com 公司有一个 Web 服务,您可以连接以发送 SMS。他们也有用于实际拨打电话的文字转语音服务。

    我仍然不明白 OTP 适合您的身份验证模型的哪个位置,因此,为了在这方面提供更多帮助,您需要给我一些更具体的信息。

    【讨论】:

    • 实际上该页面将包含两个字段,一个用于登录,另一个用于密码。然后当身份验证完成后,OTP 将在服务器端生成并通过 SMS 发送
    • 那么,用户将输入用户名和密码,然后他们将收到带有 OTP 的短信?
    • 用更多细节更新了我的答案。
    • 是的,这个 OTP 将完成认证的第二步
    【解决方案2】:

    查看以下资源,这些资源详细描述了如何使用计数器或基于时间的算法编写一次性密码服务。

    两个示例都展示了一个参考实现,还展示了需要实现的针对黑客攻击的保护(例如限制)

    One Time Password Time Based One Time Password

    【讨论】:

      猜你喜欢
      • 2020-05-04
      • 1970-01-01
      • 1970-01-01
      • 2013-03-06
      • 2014-04-19
      • 2012-08-31
      • 2017-07-26
      • 2010-12-19
      • 1970-01-01
      相关资源
      最近更新 更多