nora-lib/secure
Composer 安装命令:
composer require nora-lib/secure
包简介
README 文档
README
インストール
このライブラリはComposerを通じてインストールできます。 以下のコマンドを実行してください。
composer require noralib/secure-time-based-token
特徴
- RFC 6238 に準拠したTOTPの生成と検証
- 時間ウィンドウのカスタマイズ設定
- 任意の桁数やタイムステップ設定のカスタマイズ
- 簡潔なインターフェース
- PHPUnitによる包括的なテストスイートを提供
要件
- PHP 8.3 以上
- Composer(依存関係を管理するため)
使い方
このライブラリでは、TOTPの生成と検証を簡単に行うことができます。
TOTP生成例
use NoraLib\Secure\TimeBasedToken\TimeBasedToken;
$secret = 'JBSWY3DPEHPK3PXP'; // Base32 形式の秘密鍵
$timeBasedToken = new TimeBasedToken();
$generatedOtp = $timeBasedToken->generateTotp($secret);
echo "Generated OTP: " . $generatedOtp;
TOTP検証例
use NoraLib\Secure\TimeBasedToken\TimeBasedToken;
$secret = 'JBSWY3DPEHPK3PXP'; // Base32 形式の秘密鍵
$providedOtp = '123456'; // ユーザが提供したOTP
$timeBasedToken = new TimeBasedToken();
$isValid = $timeBasedToken->verifyTotp($secret, $providedOtp);
if ($isValid) {
echo "OTP is valid!";
} else {
echo "Invalid OTP!";
}
カスタム設定の例
use NoraLib\Secure\TimeBasedToken\TimeBasedToken;
$secret = 'JBSWY3DPEHPK3PXP'; // Base32 形式の秘密鍵
$timeBasedToken = new TimeBasedToken();
// 8桁のOTP、90秒間隔の設定でトークンを生成
$customOtp = $timeBasedToken->generateTotp($secret, time(), 8, 90);
// 検証(8桁、90秒間隔)
$isValid = $timeBasedToken->verifyTotp($secret, $customOtp, 8, 90);
テスト
ライブラリの品質を確認したい場合は、以下のコマンドでテストを実行できます。
- 依存関係をインストールします。
composer install
- PHPUnitテストを実行します。
vendor/bin/phpunit
または、PHPUnitをグローバルインストールしている場合:
phpunit tests
ライセンス
このプロジェクトは MIT License の下でライセンスされています。
貢献
バグ報告や新機能の提案は GitHub Issues に投稿してください。
- このリポジトリをフォークする
- 新しいブランチを作成する (
git checkout -b feature/your-feature) - コードを実装する
- プルリクエストを送信する
注意事項
このライブラリは、ログインや認証機能におけるセキュリティコンポーネントとして設計されていますが、適切に安全性を確認した上で利用してください。
统计信息
- 总下载量: 67
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2025-01-02