2

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

提前致谢

4

2 回答 2

2

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

您可以使用 Amazon Simple Notification 服务接收 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 适合您的身份验证模型的位置,因此,为了在这方面提供更多帮助,您需要给我一些更多细节。

于 2011-12-29T11:17:08.280 回答
1

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

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

一次性密码 基于时间的一次性密码

于 2014-07-29T15:02:24.220 回答