php - 移动身份验证器如何工作

标签 php authentication mobile security

我想知道移动验证器是如何工作的(比如 Battle.netrift ,有些银行有,等等),所以我可以为我自己的网站制作一个(只是为了好玩)。

我了解基础知识:验证器具有与电话相关的代码和与网站相关的代码。用户在网站上输入电话代码。然后可以生成相关的 token (使用电话和网站代码)。

我只是想知道 token 是如何创建的。这有标准算法吗?该算法如何工作?任何现有的 PHP 库都可以做这样的事情(例如)?

最佳答案

看看Google Authenticator .已经有适用于此的 iPhone、Android 和黑莓应用程序,这是一个既定的协议(protocol)。

他们将其实现为 open-source PAM module您可以将其与 PECL PAM 一起使用包。

有一个pure PHP version但我没有使用过,所以不能保证。

spec不是那么那么复杂,所以您可以自己实现它,特别是如果您转换了 C 模块。那里链接的规范详细解释了它的工作原理。

编辑: 我想回答最初的问题,这是一个 RFC,所以它在某种程度上是标准化的,它是一个完全开放的规范,使用它的工具是完全开源的。这些协议(protocol)称为 HOTP 和 TOTP。前者是基于计数器的 HMAC(因此使用第 n 个密码),而后者是基于时间的(因此密码每 30 秒循环一次)。

关于php - 移动身份验证器如何工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6430024/

相关文章:

php - 如何判断某人是否伪造了文件类型? (PHP)

c# - ASP.NET MVC 4 中使用 aspnet 身份进行基于角色的身份验证

authentication - 为 GitHub 创建 SSH key ?

asp.net - MembershipUser 和 IPrincipal 对象之间的关系

java - 为什么 SQLite 会报错?

php - 在不创建虚拟主机的情况下配置 laravel

php - Stripe - 通过 PHP、iOS 和 Alamofire 进行部分退款

php - mysql 2列为1(未合并!)

c# - Xamarin.Forms DatePicker 时间

java - J2Me左右滑动图像