php require_once 一个用于生成和验证时间基础一次性密码 TOTP 的 PHP 工具包

php require_once 一个用于生成和验证时间基础一次性密码 TOTP 的 PHP 工具包

大家好,我是小皮。

一个用于生成和验证时间基础一次性密码(TOTP)的 PHP 包,支持 及类似应用。功能包括密钥生成、二维码创建和 OTP 验证。

用途 & 初衷

随着安全需求的提升,越来越多的网站和应用开始采用双因素认证(2FA)来保护用户账号。而 是最常见的 2FA 应用之一,使用基于时间的一次性密码(TOTP)来确保安全。

在实现 的过程中,我发现市面上有很多功能丰富、但较为复杂的 PHP 库。这些库不仅支持 TOTP 认证php require_oncephp require_once 一个用于生成和验证时间基础一次性密码 TOTP 的 PHP 工具包,还往往包含了用户管理、复杂的配置选项等额外功能php require_once,这些功能对于很多开发者来说,可能过于庞大,很多时候我们只需要完成几个简单的任务:

因此,我做了这个

/- 库,旨在提供一个轻量、简洁的解决方案。如果你只需要快速实现 这几个基本功能,它应该会很适合你。

安装

通过 安装:

composer require hejunjie/google-authenticator

使用方法 1. 为用户生成密钥

为用户生成密钥php require_once 一个用于生成和验证时间基础一次性密码 TOTP 的 PHP 工具包,在验证时需要使用php require_once,因此需要为用户保存


useHejunjieGoogleAuthenticatorGoogleAuthenticator;

$secret = GoogleAuthenticator::generateSecret;

// 输出 secret (var_dump)
// string(26) "3PVPN3ASEIM457VR5VNUONDQB4"

2. 根据密钥创建二维码

用于 扫码


useHejunjieGoogleAuthenticatorGoogleAuthenticator;

$issuer = '应用名'; // Google Authenticator 中的显示的名称为「issuer: label」
$label = '用户名'; // Google Authenticator 中的显示的名称为「issuer: label」
$secret = '用户 TOTP 密钥'; // 可自传或者使用 GoogleAuthenticator::generateSecret 生成的密钥
$path = '/www/wwwroot/xxxxx.png'; // 二维码文件存储路径(带名字)
$width = 300; // [非必传]二维码图片宽度,默认300
$logo = '/www/wwwroot/xxxxx.png'; // [非必传]logo文件路径(如果不需要logo给空字符串即可),默认空字符串
$logo_width = 50; // [非必传]二维码图片宽度如果logo为空则无效),默认50

$getQRCodeFile = GoogleAuthenticator::getQRCodeFile($issuer, $label, $secret, $path, $width, $logo, $logo_width);

// 输出图片路径 (var_dump)
// string(67) "/www/wwwroot/xxxxx.png"

3. 验证是否有效


useHejunjieGoogleAuthenticatorGoogleAuthenticator;

$secret = '用户的密钥';
$code = '用户输入的code';

$checkCode = GoogleAuthenticator::checkCode($secret, $code);

// 输出结果
// bool(false)

感谢大家阅读,个人观点仅供参考,欢迎在评论区发表不同观点。

公告:
1. 本站所有资源来源于用户上传和网络,如有侵权请联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系站长处理!
6. 本站不售卖代码,资源标价只是站长收集整理的辛苦费!如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。
7. 站长QQ号码 2205675299

资源库 - 资源分享下载网 » php require_once 一个用于生成和验证时间基础一次性密码 TOTP 的 PHP 工具包

常见问题FAQ

关于资源售价和售后服务的说明?
本站所有资源的标价均为本站收集资源的辛苦费,不代表资源本身的价值。软件是高智慧高价值的商品,不可能是白菜价。本站资源标价只是赞助费用,收取的赞助费仅用来维持本站的日常运营!毕竟收集整理资料需要投入云计算资源和站长大量的精力。
代码有没有售后服务和技术支持?
由于代码的运行具有不可预见性,本站不保证代码完整可运行,不提供技术支持和售后服务。 本站原创代码都是站长自己开发的,可以有偿提供技术支持服务。 网站里标明【亲测】的代码都是站长亲测过的,其他的代码由于精力有限,没有一一测试,不能保证代码就一定能够使用,更没有技术支持服务,下载前请自行斟酌。
有没有搭建服务?
由于搭建服务比较费时费力,所以本站除了原创代码外均不提供搭建服务。本站分享代码纯属兴趣爱好,不以盈利为目的,请勿咨询有没有搭建服务,谢谢理解。
链接地址失效了怎么办?
请带上资源链接地址联系客服,工作时间内我们看到后将第一时间回复。
关于解压密码
本站资源一般都没有加密,如果发现需要解压密码的,那么就输入 hao.35dc.com 试试。

发表评论

资源库,由老程序员细心甄别、精心筛选,只为提供优质的源码资源

关于我们 联系我们