Github 2FA验证的解决方法

当前使用GitHub需要启用 2FA 验证,也就是除了账号密码外还有一个实时码,需要额外输入这个正确的实时码才能开启 2FA 验证和后续登陆。

浏览器插件

这是目前我在使用的方法。在浏览器中添加一个叫做Authenticator的插件,传送地址:

开源地址:https://github.com/Authenticator-Extension/Authenticator

Edge扩展:https://microsoftedge.microsoft.com/addons/detail/authenticator-2fa-client/ocglkepbibnalbgmbachknglpdipeoio

Chrome扩展:https://chrome.google.com/webstore/detail/authenticator/bhghoamapcdpbohphigoooaddinpkbai

只需要在安装好了之后点击扫描二维码,然后用鼠标选取二维码区域,就会出现实时码.以后每次登陆也只要打开插件输入实时码即可

验证APP

官方推荐的密码管理 app 包括 1Password、Authy、Microsoft Authenticator 等,但是1Password是收费的,而Authy、Microsoft Authenticator 都是只有在苹果应用商店和有Google play的安卓手机上才能使用,所以如果是苹果用户或者有Google paly的可以自行搜索安装。

手机号验证

如下是网上找到的另一个方法,但没有试验过,仅供参考。如果选择sms短信认证方式,github现在短信是不支持中国区的手机号,需要把手机号对应下拉框的源码进行更改,在第一行添加
<option value="+86">China +86</option>就可以成功发送验证码

基于时间的一次性密码(time-based one-time password, TOTP)的原理

基于时间的一次性密码(Time-based One-Time Password,TOTP)是一种双因素身份验证(2FA)方法,它根据共享的密钥和当前时间生成唯一的临时密码。TOTP通常用作在线账户的额外安全层,帮助防止未经授权的访问。TOTP是一种在RFC 6238下标准化的算法。

以下是TOTP工作原理的简要概述:

密钥生成:在为帐户设置TOTP时,将生成一个唯一的密钥。该密钥在用户设备(通常是智能手机)和认证服务器之间共享。密钥通常表示为二维码,以便轻松设置。

时间同步:用户设备和认证服务器需要同步到相同的时间源。TOTP算法依赖于当前时间来生成一次性密码。

OTP生成:TOTP算法将密钥和当前时间结合起来,应用加密哈希函数(例如SHA-1、SHA-256或SHA-512)生成一次性密码。此密码通常包含6-8位数字,并具有有限的有效期,例如30或60秒。

OTP验证:当用户尝试登录时,他们输入常规密码以及由TOTP应用程序或设备生成的一次性密码。然后,认证服务器根据共享密钥和当前时间独立生成预期的OTP。如果用户输入的OTP与服务器生成的OTP匹配,则授权访问。

由于一次性密码经常更改(每30或60秒),即使攻击者设法截获有效的OTP,他们也只有非常有限的时间窗口来使用它。这为认证过程增加了额外的安全层,使未经授权的用户更难以访问帐户。

简单来说,TOTP就是在用户和系统之间共享密钥,并同步时间,然后计算一个基于时间的函数,验证双方得到的结果是否一致

参考文章

https://juejin.cn/post/7154286738280546317

https://zhuanlan.zhihu.com/p/615693483

https://www.jianshu.com/p/2075203e88c9

相关推荐
求索实验室15 小时前
让AI真正"看见"界面:纯视觉GUI自动化编排器开源了
github·agent
梦梦代码精17 小时前
《企业开源商城选型:商业闭环、二次开发与成本平衡》
java·开发语言·低代码·开源·github
AI工具测评与分析19 小时前
2026年4月GitHub热门开源项目榜单:AI智能体正式迈入工业化协作时代
人工智能·开源·github
星栈19 小时前
Rust + DDD 三层架构:没有 Spring、没有 DI 容器,解耦能力一点不少
后端·github
梦梦代码精19 小时前
LikeShop 二次开发扩展能力白皮书——面向业务增长的可扩展电商架构实践
java·架构·github
逛逛GitHub19 小时前
推荐 6 个小众但实用的 GitHub 开源项目,有点意思啊。
github
yyuuuzz19 小时前
企业出海中的技术稳定性问题梳理
运维·服务器·网络·github·aws
朱一头zcy21 小时前
Git的下载和基本原理、Git常用命令与分支管理、IDEA集成Git、IDEA关联Github和Gitee
git·gitee·github·intellij-idea
星浩AI1 天前
一个搞音乐的,用 AI 写了款编程工具DeepSeek TUI,本文就是它写的
github·agent·deepseek
GISer_Jing1 天前
GitHub原生DevOps全链路实战:从代码提交到生产部署的自动化闭环
自动化·github·devops