【发布时间】:2012-01-29 19:55:14
【问题描述】:
如帖子标题中所述,我有一个项目,其中包括设计一个允许用户与 OTP 连接的 Web 服务。我真的在互联网上搜索过,我发现有一个用于发送 SMS(SMSLib)的 Java API,但是关于在服务器端生成 OTP 并通过我必须做的 Web 服务发送它,我没有找到任何事物。 你能帮我看一些关于这个问题的教程吗?
提前致谢
【问题讨论】:
标签: java web-services sms one-time-password
如帖子标题中所述,我有一个项目,其中包括设计一个允许用户与 OTP 连接的 Web 服务。我真的在互联网上搜索过,我发现有一个用于发送 SMS(SMSLib)的 Java API,但是关于在服务器端生成 OTP 并通过我必须做的 Web 服务发送它,我没有找到任何事物。 你能帮我看一些关于这个问题的教程吗?
提前致谢
【问题讨论】:
标签: java web-services sms one-time-password
您能否提供一些细节,例如目标编程语言?您希望如何发送 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 适合您的身份验证模型的哪个位置,因此,为了在这方面提供更多帮助,您需要给我一些更具体的信息。
【讨论】:
查看以下资源,这些资源详细描述了如何使用计数器或基于时间的算法编写一次性密码服务。
两个示例都展示了一个参考实现,还展示了需要实现的针对黑客攻击的保护(例如限制)
【讨论】: