用于连接OTP的Web服务(一次性密码)

时间:2011-12-29 11:13:00

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

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

提前致谢

2 个答案:

答案 0 :(得分:2)

您能否提供一些具体内容,例如目标编程语言?您希望如何交付OTP(通过短信?)。

您可以将SMS简单通知服务用于SMS:http://aws.amazon.com/sns/

通常情况下,如果可能,最好让用户从一开始就选择密码。

修改

至于生成OTP,你可能最好使用随机生成的东西而不是散列的东西。您可以尝试使用UUID版本4.此处详细信息:http://en.wikipedia.org/wiki/Universally_unique_identifier#Version_4_.28random.29

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

我在短信中想到的另一件事是,公司http://cdyne.com有一个可以连接发送短信的网络服务。他们还有一个文本到语音服务,用于实际拨打电话。

我仍然不明白OTP在哪里适合你的身份验证模型,所以,为了让我在那里得到更多的帮助,你需要给我一些更具体的信息。

答案 1 :(得分:1)

请查看以下资源,详细说明如何使用计数器或基于时间的算法对一次性密码服务进行编码。

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

One Time Password Time Based One Time Password