rych/otp
Composer 安装命令:
composer require rych/otp
包简介
PHP implementation of the OATH one-time password standards
README 文档
README
This library provides HMAC and time-based one-time password functionality as defined by RFC 4226 and RFC 6238 for PHP 5.3+.
Install
Via Composer
$ composer require rych/otp
Usage
The library makes generating and sharing secret keys easy.
<?php use Rych\OTP\Seed; // Generates a 20-byte (160-bit) secret key $otpSeed = Seed::generate(); // -OR- use a pre-generated string $otpSeed = new Seed('ThisIsMySecretSeed'); // Display secret key details printf("Secret (HEX): %s\n", $otpSeed->getValue(Seed::FORMAT_HEX)); printf("Secret (BASE32): %s\n", $otpSeed->getValue(Seed::FORMAT_BASE32));
When a user attempts to login, they should be prompted to provide the OTP displayed on their device. The library can then validate the provided OTP using the user's shared secret key.
<?php use Rych\OTP\HOTP; $otpSeed = $userObject->getOTPSeed(); $otpCounter = $userObject->getOTPCounter(); $providedOTP = $requestObject->getPost('otp'); // The constructor will accept a Seed object or a string $otplib = new HOTP($otpSeed); if ($otplib->validate($providedOTP, $otpCounter)) { // Advance the application's stored counter // This bit is important for HOTP but not done for TOTP $userObject->incrementOTPCounter($otplib->getLastValidCounterOffset() + 1); // Now the user is authenticated }
Time-based OTPs are handled the same way, except you don't have a counter value to track or increment.
Change log
Please see CHANGELOG for more information what has changed recently.
Testing
$ vendor/bin/phpunit -c phpunit.dist.xml
Security
If you discover any security related issues, please email rchouinard@gmail.com instead of using the issue tracker.
License
The MIT License (MIT). Please see License File for more information.
rych/otp 适用场景与选型建议
rych/otp 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 277.72k 次下载、GitHub Stars 达 35, 最近一次更新时间为 2013 年 02 月 18 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「security」 「otp」 「hotp」 「totp」 「rfc4226」 「rfc6238」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 rych/otp 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 rych/otp 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 rych/otp 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Security tools for PHP
Simple HOTP/TOTP generation library
A Google Authenticator Bundle for Symfony
Provide a way to secure accesses to all routes of an symfony application.
It's a barebone security class written on PHP
OTP generating package
统计信息
- 总下载量: 277.72k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 36
- 点击次数: 38
- 依赖项目数: 3
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2013-02-18